从熊猫数据框中的整个列中删除某些字符串

新手上路,请多包涵

我有一个熊猫数据 df 内容如下:

   Date          Factor       Expiry         Grade
0 12/31/1991    2.138766     3/30/1992      -3.33%
1 10/29/1992    2.031381     2/8/1993       -1.06%
2 5/20/1993     2.075670     6/4/1993       -6.38%

我想从 Grade 列中的所有行中删除 % 字符。结果应如下所示:

   Date          Factor     Expiry        Grade
0 12/31/1991    2.138766   3/30/1992     -3.33
1 10/29/1992    2.031381   2/8/1993      -1.06
2 5/20/1993     2.075670   6/4/1993      -6.38

我正在使用 Python v3.6。

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

阅读 452
2 个回答

您可以使用字符串切片,然后通过 pd.to_numeric 转换为数字类型:

 df['Grade'] = pd.to_numeric(df['Grade'].astype(str).str[:-1], errors='coerce')

建议转换为 float ,因为一系列字符串将保存在通用且低效的 object 中,而数字类型允许向量化操作。

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

使用 str.replace 会起作用:

 df['Grade'] = df['Grade'].str.replace('%', '')

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

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