【发布时间】:2019-10-24 20:33:31
【问题描述】:
我正在尝试将“数量”列转换为 int。
数量列有一个字符串(,)分隔符或数值分隔符
使用代码
data['Quantity'] = data['Quantity'].astype('int')
data['Quantity'] = data['Quantity'].astype('float')
我收到此错误:
ValueError: could not convert string to float: '16,000'
ValueError: invalid literal for int() with base 10: '16,000'
数据
Date Quantity
2019-06-25 200
2019-03-30 100
2019-11-02 250
2018-10-23 100
2018-07-17 150
2018-05-31 150
2018-07-05 100
2018-10-04 100
2018-02-23 100
2019-09-16 204
2019-09-16 315
2019-11-09 113
2019-08-29 5
2019-08-23 4
2019-06-18 78
2019-12-06 4
2019-12-06 2
2019-10-03 16,000
2019-07-03 8,000
2018-12-12 32
Name: Quantity, dtype: object
这是一个有 124964 行的 pandas 数据框。我添加了数据的头部和尾部
我可以做些什么来解决这个问题?
【问题讨论】:
-
这是熊猫数据框吗?另外,你的数据中不应该有
16,000吗? -
抱歉马上关闭,我的名声太大了。我想知道stackoverflow.com/questions/1779288/… 是否会解决您的问题,但它不涉及 Pandas 数据框。但是
locale的使用可能是关键。因为在荷兰,16,000 意味着 16,但在美国,它意味着 16000。 -
这是一个有 124964 行的 pandas 数据框。我添加了数据的头部和尾部
-
您从什么创建数据框? csv?
标签: python pandas dataframe lambda replace