【发布时间】:2018-05-23 11:12:06
【问题描述】:
我想知道如何使用正则表达式删除任何非数字字符,同时仅以更有效的方式为系列选择非空和空格(单个值可能包含一个或多个空格)值,
df['numeric_no'] = df['id'].apply(lambda x: re.sub("[^0-9]", "", x))
df = df[(df['numeric_no'] != '') & (df['numeric_no'] != ' ')]
df 的一些示例数据
numeric_no
B-27000
44-11-E
LAND-11-4
17772A
88LL9A
321LP-3
UNIT 9 CAM -00-12
WWcard_055_34QE
EE119.45
aaa
b b
结果会是这样的
numeric_no
27000
4411
114
17772
889
3213
90012
05534
119.45
【问题讨论】:
-
你能添加一些数据样本吗?
-
@jezrael 示例数据已添加
-
谢谢,所以所有行都被选中了?没有人从样本中移除?
-
@jezrael 刚刚添加了示例结果,希望清楚
标签: regex python-3.x pandas dataframe