【发布时间】:2021-03-18 19:16:30
【问题描述】:
我找不到一种简单的方法来做到这一点,而且没有一种复杂的方法奏效。你能帮忙吗?
我有一个来自网络抓取的数据框。在那里,我有一个 data['Milage'] 列,其结果如下:'80,000 英里'。显然这是一个字符串,所以我正在寻找一种方法来擦除所有非数字内容并将该字符串转换为直数 '80,000 英里' -> '80000'
我尝试了以下方法:
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'
我尝试的另一个解决方案是:
data['Milage'] = str(data['Milage']).extract('(\d+)').astype(int)
而产生的错误如下:
File "autotrader.py", line 73, in <module>
data['Milage'] = str(data['Milage']).extract('(\d+)').astype(int)
AttributeError: 'str' object has no attribute 'extract'
如果有任何帮助,我将不胜感激!谢谢
【问题讨论】: