首页 > 解决方案 > 如何将带有句点分隔符的数字字符串转换为浮点数?

问题描述

我正在尝试将 Pandas DataFrame 中的值从字符串转换为浮点数,但遇到错误。

该列如下所示:

PIB (IBGE/2005)
---------------
 71.638.000
114.250.000
 44.373.000
462.258.000
186.812.000

数字组分隔符在哪里.,所以71.638.000应该变成 float 71638000

但我收到错误:

ValueError: could not convert string to float: '71.638.000'

这是我的完整 DataFrame 的图像:

数据框截图 如何将此列从字符串转换为浮点数?

标签: pythonpandas

解决方案


'PIB (IBGE/2005)' 列中的值似乎有一个作为千位分隔符的句点。在将值转换为浮点数之前,您必须删除它们。您可以尝试按照以下方式尝试将列转换为浮点数:

df1 = df1['PIB (IBGE/2005)'].apply(lambda x: x.replace('.', ''))

编辑:正如以下评论中建议的那样,作为避免应用的更合适的解决方案

df1 = df1['PIB (IBGE/2005)'].str.replace('.', '')

推荐阅读