我一直在使用python并理解通过.copy函数复制数据帧的概念,而不是将其重新分配给变量
假设我们有以下数据帧: dfx公司:
Name Score1 Score2 Score3 Score4
0 Jack 10 Perfect 10 Perfect
1 Jill 10 10 10 Not Finished
2 Jane 20 10 10 5
3 Tom Not Finished 15 10 5
dfx2 = dfx.drop("Score1",axis = 1)
dfx2型:
Name Score2 Score3 Score4
0 Jack Perfect 10 Perfect
1 Jill 10 10 Not Finished
2 Jane 10 10 5
3 Tom 15 10 5
再次运行dfx仍然返回原始数据帧
Name Score1 Score2 Score3 Score4
0 Jack 10 Perfect 10 Perfect
1 Jill 10 10 10 Not Finished
2 Jane 20 10 10 5
3 Tom Not Finished 15 10 5
重新分配是否应该导致“Score1”列也从原始数据集中删除
但是,运行以下命令:
dfx3 = dfx
dfx3
Name Score1 Score2 Score3 Score4
0 Jack 10 Perfect 10 Perfect
1 Jill 10 10 10 Not Finished
2 Jane 20 10 10 5
3 Tom Not Finished 15 10 5
dfx3.loc[0,"Score4"] = "BAD"
dfx3
Name Score1 Score2 Score3 Score4
0 Jack 10 Perfect 10 BAD
1 Jill 10 10 10 Not Finished
2 Jane 20 10 10 5
3 Tom Not Finished 15 10 5
dfx
Name Score1 Score2 Score3 Score4
0 Jack 10 Perfect 10 BAD
1 Jill 10 10 10 Not Finished
2 Jane 20 10 10 5
3 Tom Not Finished 15 10 5
会导致修改原始数据集
为什么列删除不会修改原始数据集,但元素更改会更改原始数据集?对指定数据集中的列名的任何更改似乎也会修改原始数据集
您正在将
dfx3
和dfx
引用到一个数据帧,如果您想对dfx3
上具有类似于该dfx
的列的dfx
进行操作,那么您应该在dfx3
上制作一个dfx
的副本,而不是将它们都引用到同一个数据帧相关问题 更多 >
编程相关推荐