python - 从文本中剥离 DataFrame 列以生成整数

标签 python pandas selenium

我找不到简单的方法来做到这一点,而且所有复杂的方法都不起作用。你能帮忙吗?

我有一个来自网络抓取的数据框。在那里我有一个 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'

如果有任何帮助,我将不胜感激!谢谢

最佳答案

在一些测试问题是data是字典之后,您需要为DataFrame处理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

关于python - 从文本中剥离 DataFrame 列以生成整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65182467/

相关文章:

python - Selenium (Python): Element is not clickable

python - 相当Pythonic,但不像pandas风格那么令人信服

python - 转换oracle日期格式

python - 如何从列表中制作特征向量

python - 将 Pandas 数据框附加到 excelsheet,而不是覆盖它

python - Pandas Multiindex 选择标准以及列选择标准

python - 我似乎无法使用 Python/Selenium 找到输入框元素

ruby - selenium-webdriver 并等待页面加载

python - 如何优化一个 numpy 循环,该循环对一个数组中的值求和,该数组由另一个数组索引,其中值等于循环索引

python - 电影时间的 MySQL 数据类型