我正在尝试将Pandas DataFrame中的值从字符串转换为float,但是遇到错误。
该列如下所示:
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的图像:
如何将该列从字符串转换为浮点数?
答案 0 :(得分:1)
“ PIB(IBGE / 2005)”列中的值似乎有一个以千位分隔符表示的句点。您必须先删除那些值,然后再将值转换为浮点数。您可以尝试以下方法来为转换为float的列做准备:
df1 = df1['PIB (IBGE/2005)'].apply(lambda x: x.replace('.', ''))
编辑: 如以下评论中所建议的那样,它是avoid apply
的一种更正确的解决方案df1 = df1['PIB (IBGE/2005)'].str.replace('.', '')
答案 1 :(得分:0)
替换“。”用''并将字符串转换为浮点数
S = "123.567.000"
D = float(S.replace('.',''))
print(D)