使用 pandas DataFrame 重命名列值

新手上路,请多包涵

在我的数据框中的一列中,我有五个值:

 1,G,2,3,4

如何让它把所有“G”的名字都改成1

我试过了:

 df = df['col_name'].replace({'G': 1})

我也试过:

 df = df['col_name'].replace('G',1)

“G”其实就是1(不知道为什么会混名)

编辑:

正确工作:

 df['col_name'] = df['col_name'].replace({'G': 1})

原文由 tbone 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 839
2 个回答

如果我正确理解了您的问题,那么您正在尝试更改列中的值而不是列名本身。

鉴于您在那里有混合数据类型,我假设该列的类型为 object ,因此该数字被读取为字符串。

 df['col_name'] = df['col_name'].str.replace('G', '1')

原文由 addicted 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以尝试以下行

df.replace('G', 1, inplace=True)

原文由 omkar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题