大熊猫文档说:
返回视图与副本
关于何时返回数据视图的规则完全取决于NumPy。每当索引操作涉及标签数组或布尔向量时,结果将是副本。使用单个标签/标量索引和切片,例如df.ix
[3:6]或df.ix [:,’A’],将返回视图。
在
df[df.key==1]['D']您首先进行布尔切片(导致 Dataframe 的副本),然后选择列[‘D’]。
在中
df.D[df.key==1] = 3.4,您首先选择一列,然后对所得 Series 进行布尔切片。
尽管我必须承认这有点违反直觉,但这似乎有所不同。
编辑
:区别是由Dougal标识的,请参阅他的评论:对于版本1,将在为
__getitem__布尔切片调用方法时进行复制。对于版本2,仅
__setitem__访问该方法-
因此不返回副本而是仅进行分配。



