为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨__羊羊 2021-08-24 15:01:19
我有一个这样的数据框    A   B0   0.0 sales oi 90,901   1.0 9.002   2.0 get it here9993   3.0 sales for oi 90,904   4.0 this: 90,00,005   5.0 akjd : 90,000我想要这样的数据框        A   B0   0.0 90901   1.0 92   2.0 9993   3.0 90904   4.0 9000005   5.0 90000
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

如果要删除所有不带点的非数字值,请replace与正则表达式[^\d.]一起使用,如果不是十进制数字或.:


df['B'] = df['B'].str.replace(r'[^\d.]+', '')

print (df)

     A       B

0  0.0    9090

1  1.0    9.00

2  2.0     999

3  3.0    9090

4  4.0  900000

5  5.0   90000


查看完整回答
反对 回复 2021-08-24
?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以像这样使用正则表达式:


import re

re.sub("[^0-9]", "", "sales oi 90,90")

这将返回:


9090

使用它,您可以使用 lambda 函数简单地将其应用于您的数据帧:


df['B'] = df['B'].apply(lambda row: re.sub("[^0-9]", "", row))


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信