【发布时间】:2021-05-20 13:01:41
【问题描述】:
我正在尝试将列“奖励级别”转换为 int 类型,它似乎被列为对象类型。
我试过了
.astype(int)
ValueError: int() 以 10 为底的无效文字:'25,50,100,250,500,1,000,2,500'
还有:
tuple(map(int, df['reward levels'].split(',')))
AttributeError: 'Series' 对象没有属性 'split'
最终:
**pd.to_numeric(df['奖励等级'])
ValueError:无法解析位置 0** 处的字符串“25,50,100,250,500,1,000,2,500”
https://drive.google.com/file/d/0By26wLpAqHfQaF9Jb19RUFVnNjA/view
链接到数据。在此先感谢我是新手。
【问题讨论】:
-
但这不是
int。这是一系列ints,它们的长度甚至都不一样。你希望 pandas 用这个做什么? -
可能是
df['reward levels'].str.split()? -
或者也许
df.explode('reward levels') -
你能发布实际数据吗?如果最后一个数字是
1000和2500,则很难确定在此'25,50,100,250,500,1,000,2,500'中逗号是作为分隔符还是数字格式 -
建议将您的数据添加为文本,我们不能从图像中复制内容。您可以执行
df[:5].to_dict()并将输出添加到问题中。
标签: python pandas dataframe data-analysis