为什么这会给我留下2个相同的DF?

时间:2018-08-31 14:54:23

标签: python pandas dataframe

我有这样的DF。我想合并这些列:

DF=
ID    token
0     here
1     I
2     am

DF2 = DF
DF2["token"] = DF["token"] + "-" + DF["ID"].str.split(' ').str[-1]


DF2=
ID    token
0     here-0
1     I-1
2     am-2

但是当我看两个DF时,它们看起来是一样的:

DF.to_csv("DF.csv")
DF2.to_csv("DF2.csv")

DF=
ID    token
0     here-0
1     I-1
2     am-2

DF2=
ID    token
0     here-0
1     I-1
2     am-2

那是为什么?不仅DF2应该具有新格式??

1 个答案:

答案 0 :(得分:2)

您分配了DF2 = DF,它仅将名称DF2指向与名称DF相同的对象。这意味着当您使用任一名称访问该对象时,都会反映出您更改该对象所做的一切。

代替使用

DF2 = DF.copy()

这将创建一个新对象,该对象是DF指向的对象的副本,并且将是独立的。