很抱歉,如果这是一个愚蠢的问题。我对熊猫一无所知,甚至不知道要用什么关键词来寻找解决我问题的方法。
基本上,我有一个数字数据框
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,则其列已被格式化并收敛为字符串。是什么原因引起的?为什么我的地图方法会修改原始数据框?
在此先感谢您提供的帮助。
答案 0 :(得分:1)
使用formatted_df = numeric_df
表示变量共享相同的内存占用量。引用同一对象。要独立操作一个,您需要一个单独的对象。为此,您可以clone
个对象或熊猫提供copy()
formatted_df = numeric_df.copy()