【发布时间】:2020-09-02 18:08:18
【问题描述】:
我正在尝试将 Pandas DataFrame 中的值从字符串转换为浮点数,但遇到了错误。
该列如下所示:
PIB (IBGE/2005)
---------------
71.638.000
114.250.000
44.373.000
462.258.000
186.812.000
其中. 是数字组分隔符,所以71.638.000 应该变成浮点数71638000。
但我得到了错误:
ValueError: could not convert string to float: '71.638.000'
这是我的完整 DataFrame 的图像:
如何将此列从字符串转换为浮点数?
【问题讨论】:
-
71.638.000应该是什么浮点数? -
看起来你的数据集中的字符
.是千位分隔符,这混淆了你的解析库(可能默认设置为将.理解为英文小数点)。我建议清理您的数据以删除那些. -
@Pac0 也许问题真的是千位分隔符,我会检查一下。谢谢
-
使用
pd.read_csv(yourfile, thousands='.')或pd.to_numeric(df[column]) -
这能回答你的问题吗? Pandas: convert dtype 'object' to int