我有两个pandas DataFrame,sdm
。我想创建该DataFrame的副本并对其进行处理,之后,我想从sdm
创建另一个副本并进行不同的分析。但是,当我创建这样的新数据框时,
new_df = sdm
它会创建一个副本,但是,当我更改new_df
时,它会对我的旧DataFrame sdm
进行更改。如何在不使用=
的情况下处理此问题?
答案 0 :(得分:3)
python做的是通过引用传递。试试这个:
new_df = sdm.copy()
我认为你应该进行更多搜索,我相信这个话题会有很多问题!
答案 1 :(得分:2)
您需要使用new_df = sdm.copy()
代替官方文档中描述的here。 new_df = sdm
无法正常工作,因为此分配操作通过引用而不是按值执行复制,这意味着简而言之,new_df
和sdm
都会在内存中引用相同的数据。