在同一数据框中创建列的副本,然后删除原始列也会删除复制的列

Creating a copy of a column within the same dataframe and then dropping the original column deletes the copied column as well

这是我的原始数据框- Original dataframe

我使用赋值在同一数据框中创建了列 'spx' 的副本- Creating copy of column

随后,我删除了 'spx' 以及其他一些多余的列。在此之后我发现我创建的新列也被删除了 - After dropping columns

我希望在删除 'spx' 之后保留列 'market_value'。请指出前进的方向和我一直在犯的错误。谢谢!

您需要:

df_comp = df_comp.assign(market_value=df_comp['spx'])

这样是因为df_comp.assign(market_value=df_comp['spx'])没有发生在原地,所以如果没有开头的df_comp =df_comp不会被修改(即你不添加market_value 列到原来的 df:它只是 returns 一个 df 添加的地方,但那不是原来的)。