【问题标题】:Creating a copy of a column within the same dataframe and then dropping the original column deletes the copied column as well在同一数据框中创建列的副本,然后删除原始列也会删除复制的列
【发布时间】:2021-09-20 07:51:20
【问题描述】:

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

我使用分配在同一数据框中创建了列“spx”的副本- Creating copy of column

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

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

【问题讨论】:

  • 欢迎来到 Stackoverflow。请添加代码本身,而不是图片(以便我们更轻松地帮助您而不是吸引反对票)。

标签: python pandas data-science


【解决方案1】:

你需要:

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

之所以会出现这种情况是因为df_comp.assign(market_value=df_comp['spx']) 不会就地发生,所以开头没有df_comp =df_comp 不会被修改(即你不要在原来的df 中添加market_value 列:它只是返回一个 df 添加它的地方,但这不是原始的)。

【讨论】:

  • 在处理该 df 之前,他是否需要 reset_index() 他的数据框?
  • 如果 OP 希望原始索引(即date)成为一列,那么可以。确保实际重置索引的df 是原始数据帧,如果这是有意的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
相关资源
最近更新 更多