我最近开始使用熊猫,但是我对它的指针和“就地”操作感到困惑。 相关文章可以在这里找到:Pandas - inplace, view, copy confusion 和 Python Pandas - Understanding inplace=True
假设A是一个数据帧。
这是我从课文中读到的内容。
A.drop(["col_name1"], axis=1, inplace=True)
#直接在A上操作并删除col_name1
B=A.drop(["col_name1"], axis=1 )
#返回删除值的副本并分配给B,因此B不是指针
但是,如果我键入
B=A.drop(["col_name1"], axis=1, inplace=True)
B将成为A的指针吗?
此外,什么时候需要命令.copy()? 也就是说,我们必须在其中使用.copy(),以便B是额外的副本,而不是指针。
B=A["col_names_n"].operation.copy()
为什么熊猫这么频繁地使用指针?即如果我输入
B=1
A=B
A=2
print(B)
#then it would return 1
但是熊猫的默认设置是将B声明为指针。