首页 > 解决方案 > 如何从列中删除非数字字符

问题描述

我一直在使用一个列,我必须从该列中删除非数字字符,但是我已经尝试过但在我的情况下不起作用。

输入数据

column1

675@12
##256H8\
A--5647R
NaN
222674
98AB 789

预期产出

column1

67512
2568
5647
NaN
222674
98789

我一直在使用的代码:

df['column1'] = re.sub("[^0-9^.]", "", str(df['column1']))

但它不起作用,请提出可能的方法。

标签: pythonpandas

解决方案


您可以使用 pandas 系列的矢量化对应方法re.sub.str.replace删除\D(匹配非数字字符):

df.column1.str.replace('\D', '')

0     67512
1      2568
2      5647
3       NaN
4    222674
5     98789
Name: column1, dtype: object

推荐阅读