python--NumPy/Pandas 数据赋值时的视图和副本问题

1.NumPy数组的切片、赋值

将一个标量赋值给一个切片(如arr[5:8]=12)时,该值会自动传播到整个选区。跟列表最重要的区别在于,数组切片是原始数组的视图。即数据不会被复制,视图上的任何修改 都会直接反映到源数组上。

注:如果想要得到的是ndarray切片的一份副本而非视图,就需要显式地进行复制操作,如arr[5:8].copy()。

2.pandas--DataFrame数据切片、赋值

通过索引方式返回的列只是相应数据的视图而已,并不是副本。因此,对返回的Series所做的任何就地修改都会反映到源DataFrame上。通过Series的copy方法即可显式的复制列。

猜你喜欢

转载自blog.csdn.net/m0_37215794/article/details/80485036
今日推荐