我正在使用pandas读取csv并将所有数据类型设为object
NO
是具有数字值的列,在某些观察中带有尾随*和#。
我试过
import numpy as np
tai[np.isfinite(tai['NO'])]
TypeError:输入类型不支持ufunc'isfinite',而且 输入无法安全地强制转换为任何支持的类型 施法规则''安全''
如何删除NO列中尾随*或#的所有行?
答案 0 :(得分:1)
考虑这个数据框,
No
0 1
1 2#
2 3
3 4*
4 #5
您可以使用它来删除仅尾随字符
df['No'] = df['No'].str.replace('[#|*]$', '')
你得到了
No
0 1
1 2
2 3
3 4
4 #5
更通用的解决方案是您要从整个列中删除这些字符并仅保留数字
df['No' ] = df['No'].str.extract('(\d+)', expand = False)
你得到了
No
0 1
1 2
2 3
3 4
4 5