我有这样的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应该具有新格式??
答案 0 :(得分:2)
您分配了DF2 = DF
,它仅将名称DF2
指向与名称DF
相同的对象。这意味着当您使用任一名称访问该对象时,都会反映出您更改该对象所做的一切。
代替使用
DF2 = DF.copy()
这将创建一个新对象,该对象是DF
指向的对象的副本,并且将是独立的。