从熊猫数据框中的一列中删除所有字母和特殊字符

我有一个这样的数据框


    A   B

0   0.0 sales oi 90,90

1   1.0 9.00

2   2.0 get it here999

3   3.0 sales for oi 90,90

4   4.0 this: 90,00,00

5   5.0 akjd : 90,000

我想要这样的数据框


        A   B

0   0.0 9090

1   1.0 9

2   2.0 999

3   3.0 9090

4   4.0 900000

5   5.0 90000


杨__羊羊
浏览 245回答 2
2回答

函数式编程

如果要删除所有不带点的非数字值,请replace与正则表达式[^\d.]一起使用,如果不是十进制数字或.:df['B'] = df['B'].str.replace(r'[^\d.]+', '')print (df)     A       B0  0.0    90901  1.0    9.002  2.0     9993  3.0    90904  4.0  9000005  5.0   90000

守候你守候我

您可以像这样使用正则表达式:import rere.sub("[^0-9]", "", "sales oi 90,90")这将返回:9090使用它,您可以使用 lambda 函数简单地将其应用于您的数据帧:df['B'] = df['B'].apply(lambda row: re.sub("[^0-9]", "", row))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python