我在 Pandas DataFrame 中有这样的列:
data = pd.DataFrame({"consume":["11", "14", "11,5", "12,6"]})
我想更改这个系列的类型。目前,它的类型为 object
,但我需要它是 float64
或 int64
。如何更改列的类型?我应该在 int64
或 float64
上更改它吗?
当我尝试这样做时:
data['consume'] = data['consume'].astype('int64')
我收到错误:ValueError:以 10 为基数的 int() 的文字无效:'4,2'
最佳答案
所以很明显你不能转换为整数,因为你的字符串中有一个逗号。 (顺便说一句,你真的需要 int64 吗?那太大了) 我想 float 就可以了,所以你可以使用这一行来做到这一点,实际上用点替换逗号,然后将其转换为 float64 (float32 可以更好)
data['consume'] = data['consume'].str.replace(',','.').astype('float64')
关于python - 更改类型(pandas dataframe)时如何处理 'invalid literal for int() with base 10'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481879/