【发布时间】:2020-04-28 04:41:57
【问题描述】:
我正在创建一个小的 Pandas 数据框:
df = pd.DataFrame(data={'colA': [["a", "b", "c"]]})
我对那个 df 做了一个深拷贝。我没有使用 Pandas 方法,而是使用通用 Python,对吗?
import copy
df_copy = copy.deepcopy(df)
df_copy.head() 给出以下内容:
然后我将这些值放入字典中:
mydict = df_copy.to_dict()
那个字典看起来像这样:
最后,我删除了列表中的一项:
mydict['colA'][0].remove("b")
我很惊讶 df_copy 中的值已更新。我非常困惑原始数据框中的值也被更新了!两个数据框现在看起来像这样:
我知道 Pandas 并没有真正做 deepcopy,但这不是 Pandas 的方法。我的问题是:
1) 如何从不更新数据帧的数据帧构建字典?
2) 如何获取完全独立的数据帧的副本?
感谢您的帮助!
干杯, 尼古拉斯
【问题讨论】:
-
您是否尝试对字典而不是数据框进行深度复制?
-
@Nicolas 如果您对答案感到满意 - 如果您可以将答案标记为正确,那就太好了。如果您仍有一些问题 - 请随时填写以进行任何澄清。
-
感谢 Stas,完美,如我所愿!
标签: python pandas dictionary copy