为啥数据框的格式会自动应用于另一个? [复制]

Posted

技术标签:

【中文标题】为啥数据框的格式会自动应用于另一个? [复制]【英文标题】:Why does formatting of a dataframe automatically get applied to another? [duplicate]为什么数据框的格式会自动应用于另一个? [复制] 【发布时间】:2018-12-13 08:51:54 【问题描述】:

对不起,如果这是一个非常愚蠢的问题。我是 pandas 的菜鸟,我什至不知道用什么关键词来搜索我遇到的问题的解决方案。

基本上,我有一个数字数据框,

numeric_df = pd.DataFrame("colA": [1.23, 2.34, 3.45],
                    "colB":[1.00, 2.00, 3.00])

现在我创建第二个 df 复制 numeric_df 的值

formatted_df = numeric_df

然后我根据需要对“formatted_df”中的两列进行格式化,我这样做是因为我想将 numeric_df 中的值保留为数字,以便以后对它们进行操作。

formatted_df["colA"] = formatted_df["colA"].map("$:".format)
formatted_df["colB"] = formatted_df["colB"].map(":Years".format)

但是现在,如果我查看 numeric_df,它的列已经被格式化并聚合成一个字符串。是什么导致了问题?为什么我的map方法会修改原始数据框?

提前感谢您提供的任何帮助。

【问题讨论】:

【参考方案1】:

使用formatted_df = numeric_df 意味着变量共享相同的内存占用。引用同一个对象。要独立操作一个,您需要一个单独的对象。为此,您可以 clone 一个对象或 Pandas 提供 copy()

formatted_df = numeric_df.copy()

why should I make a copy of a data frame in pandas

【讨论】:

非常感谢。这很有意义。

以上是关于为啥数据框的格式会自动应用于另一个? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥在使用代码将 db 复制到文档文件夹之前 Xcode 会自动复制 db 并且它是空的?

依赖于另一个字段的自动递增字段[重复]

SQL Developer - 自动格式化选项

element ui select为啥不能自动回显

h5短信验证码自动填充时总是被复制两遍

为啥hdmi线插上音响没声音了?