Python 为什么一个数据帧的格式会自动应用到另一个数据帧?

Python 为什么一个数据帧的格式会自动应用到另一个数据帧?,python,pandas,Python,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 然后我根据我的需要在“format

对不起,如果这是一个非常愚蠢的问题。我是熊猫公司的一个彻头彻尾的傻瓜,甚至不知道该用什么关键词来寻找解决问题的方法

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

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”中格式化这两列,我这样做是因为我想将数值_df中的值保留为数字,以便以后可以对它们进行操作

formatted_df["colA"] = formatted_df["colA"].map("${:}".format)
formatted_df["colB"] = formatted_df["colB"].map("{:}Years".format)
但现在,如果我查看numeric_df,它的列已经格式化并聚合为字符串。是什么导致了问题?为什么我的map方法会修改原始数据帧


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

使用
格式化的\u df=numeric\u df
表示变量共享相同的内存占用空间。引用同一对象。要独立操作一个对象,需要一个单独的对象。为此,您可以
clone
对象或
copy()


非常感谢。这很有道理。
formatted_df = numeric_df.copy()