我有一个这样的 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 才有新格式吗?!
最佳答案
您指定了 DF2 = DF
,它只是将名称 DF2
指向与名称 DF
相同的对象。这意味着当您通过任一名称访问该对象时,您对该对象所做的任何更改都会得到反射(reflect)。
改为使用
DF2 = DF.copy()
这将创建一个新对象,它是 DF 指向的对象的副本,并且是独立的。
关于python - 为什么这会给我留下 2 个相同的 DF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52118037/