我有一个 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/