错误示范
新建一个DataFrame
df = pd.DataFrame(
{'x':[1,5,4,3,4,5],
'y':[.1,.5,.4,.3,.4,.5],
'w':[11,15,14,13,14,15...这里我们就遇到了所谓的“链接索引”,具体原因是使用了两个索引器,例如:df[][]
df[df['x']>3] 导致Pandas创建原始DataFrame的单独副本
df[df['x']>3]['y']...这是因为,当我们从DataFrame中仅选择一列时,Pandas会创建一个视图,而不是副本。关于视图和副本的区别,下图最为形象:
?...4 0.4 14
5 5 30.0 15
当我们创建了视图后,pandas就会出现warning,因为它不知道我们是否只想更改y系列(通过z)或原始值df。...pandas提供了copy()方法,当我们将命令更新为以下所示的命令时:
z = df['y'].copy()
我们将在内存中创建一个具有其自己地址的全新对象,并且对“z”进行的任何更新df都将不受影响