从python的df列中删除特殊字符和字符串

时间:2019-07-01 07:07:25

标签: python pandas numpy dataframe

当前,我的列是对象类型,并且我正在尝试将其转换为数字类型。 但由于其中包含特殊字符和字符串,因此显示了错误。

错误:

ValueError: Unable to parse string "7`" at position 3298

代码:

data['col1']=pd.to_numeric(data.col1)

因此,我想从只需要数字和col1作为其中之一的列中删除特殊的char和string。 有建议的解决方案吗?

1 个答案:

答案 0 :(得分:2)

str.replace与正则表达式一起使用。

例如:

df = pd.DataFrame({"col1": ["7`", "123", "AS123", "*&%3R4"]})
print(pd.to_numeric(df['col1'].str.replace(r"[^\d]", "")))

输出:

0      7
1    123
2    123
3     34
Name: col1, dtype: int64