我有一个 Pandas 数据框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。

最佳答案

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

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

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

关于python - 从Pandas数据框中的整个列中删除某些字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51778480/

10-11 06:52