无法在中将对象转换为

2024-03-28 20:27:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个值应该是数字的列表。但现在它们是一个对象:

later        object
opstarten    object
dtype: object

我尝试通过执行以下操作将列更改为str类型:

df_analyse_num[["later"]] = df_analyse_num[["later"]].astype(str)

这似乎不工作,但因为当我分析我的类型,它仍然说对象。你知道吗

当我试图把它转换成一个字符串时,也出现了一些问题。如果我这样做了:

df_analyse_num[["later"]] = df_analyse_num[["later"]].astype(str).astype(int)

它给了我以下错误:

 File "pandas\lib.pyx", line 937, in pandas.lib.astype_intsafe (pandas\lib.c:16667)
 File "pandas\src\util.pxd", line 60, in util.set_value_at (pandas\lib.c:67540)
 ValueError: invalid literal for int() with base 10: '30.0'

你觉得哪里出了问题吗?你知道吗


Tags: 对象in类型pandasdfobjectlibline
1条回答
网友
1楼 · 发布于 2024-03-28 20:27:30

不是熊猫方面的专家,但先尝试float处理表示浮点的小数点,然后int

something.astype(str).astype(float).astype(int)

“本机”python的问题是:

int('30.0')

同样失败的是:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '30.0'

如果我们首先使用float,它会工作,因为可以将float转换为int

int(float('30.0'))

预期结果:

30

相关问题 更多 >