删除DataFrame的列而不删除python

时间:2017-04-12 21:33:29

标签: python pandas numpy dataframe

我不确定如何解释这个问题,所以只需看看简单的代码。

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上删除它?

1 个答案:

答案 0 :(得分:3)

在您的示例中,xy都引用相同的基础对象。如果您想复制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