Python 从文本中剥离DataFrame列以生成整数
我找不到一个简单的方法来做这件事,而且所有复杂的方法都不起作用。你能帮忙吗 我有一个数据框,它是由一个网络抓取产生的。在那里我有一个data['Milage']列,它有以下结果:“80000英里”。很明显,这是一个字符串,所以我正在寻找一种方法来删除所有不是数字的内容,并将该字符串转换为straigt数字 “80000英里”->“80000英里” 我尝试了以下方法:Python 从文本中剥离DataFrame列以生成整数,python,pandas,selenium,Python,Pandas,Selenium,我找不到一个简单的方法来做这件事,而且所有复杂的方法都不起作用。你能帮忙吗 我有一个数据框,它是由一个网络抓取产生的。在那里我有一个data['Milage']列,它有以下结果:“80000英里”。很明显,这是一个字符串,所以我正在寻找一种方法来删除所有不是数字的内容,并将该字符串转换为straigt数字 “80000英里”->“80000英里” 我尝试了以下方法: data['Milage'] = data['Milage'].str[1:].astype(int) 不知道上面的代码是做什么
data['Milage'] = data['Milage'].str[1:].astype(int)
不知道上面的代码是做什么的,我是从这里的另一篇文章中得到的。但我收到以下错误消息:
File "autotrader.py", line 73, in <module>
data['Milage'] = data['Milage'].str[1:].astype(int)
AttributeError: 'str' object has no attribute 'str'
由此产生的误差如下所示:
File "autotrader.py", line 73, in <module>
data['Milage'] = str(data['Milage']).extract('(\d+)').astype(int)
AttributeError: 'str' object has no attribute 'extract'
文件“autotrader.py”,第73行,在
数据['Milage']=str(数据['Milage'])。提取('(\d+))。astype(int)
AttributeError:'str'对象没有属性'extract'
我将感谢任何帮助!谢谢在一些测试问题是
数据
是字典之后,您需要处理数据帧
的df
我认为您需要删除非数值并转换为整数:
df['Milage'] = df['Milage'].str.replace('\D','').astype(int)
print(df['Milage'])
0 70000
1 69186
2 46820
3 54000
4 83600
5 139000
6 62000
7 51910
8 86000
9 38000
10 65000
11 119000
12 49500
13 60000
14 35000
15 57187
16 45050
17 80000
18 84330
19 85853
Name: Milage, dtype: int32
感谢您的回复@jezrael,很遗憾我收到了以下错误消息:>AttributeError:'str'对象没有属性'astype'@Csongor-这意味着
str
在您的代码中用作变量,您能检查一下吗?我能给您一条私人消息吗?我想和大家分享完整的故事code@Csongor-检查我的文件中的代码,为我的电子邮件运行它谢谢你,你是一个传奇!!!
df['Milage'] = df['Milage'].str.replace('\D','').astype(int)
print(df['Milage'])
0 70000
1 69186
2 46820
3 54000
4 83600
5 139000
6 62000
7 51910
8 86000
9 38000
10 65000
11 119000
12 49500
13 60000
14 35000
15 57187
16 45050
17 80000
18 84330
19 85853
Name: Milage, dtype: int32