我不确定如何解释这个问题,所以只需看看简单的代码。
import numpy as np
import pandas as pd
x = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
y = x
del y ["A"]
print(x)
print(y)
输出
B
0 3
1 4
B
0 3
1 4
正如您所看到的,从y中删除列也会从x中删除它,是否有办法从y中删除列而不在x上删除它?
答案 0 :(得分:3)
在您的示例中,x
和y
都引用相同的基础对象。如果您想复制x
,可以使用:
y = x.copy()
示例:
x = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
y = x.copy()
del y["A"]
print(x)
print('-'*6)
print(y)
# returns:
A B
0 1 3
1 2 4
------
B
0 3
1 4