python - 如何将带有句点分隔符的数字字符串转换为浮点数?
问题描述
我正在尝试将 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 的图像:
如何将此列从字符串转换为浮点数?
解决方案
'PIB (IBGE/2005)' 列中的值似乎有一个作为千位分隔符的句点。在将值转换为浮点数之前,您必须删除它们。您可以尝试按照以下方式尝试将列转换为浮点数:
df1 = df1['PIB (IBGE/2005)'].apply(lambda x: x.replace('.', ''))
编辑:正如以下评论中建议的那样,作为避免应用的更合适的解决方案
df1 = df1['PIB (IBGE/2005)'].str.replace('.', '')
推荐阅读
- ruby - 在我的红宝石程序中拆分字符串后字母消失了
- android - 想要从 api 而不是 dart flutter 中的静态模型文件中获取数据?
- python - 我想在 Google colab 上训练 YOLOv3 Darknet 对象检测模型期间绘制 mAP 和损失图
- xml - Word 365 2016 - 将自定义按钮添加到主页选项卡
- java - 当有空格字符时,将句子转换为 ASCII 的代码不起作用
- javascript - 如何用同一对象javascript的另一个值更改值
- python - CSV 列有列表列表。如何使用 sqlite 将此列转换为关系数据库?
- android - 当我对颤振项目进行颤振清理时出现错误
- python - pd.date_range 如何排除几个小时
- python-3.x - Python 内存错误(附加 DataFrame 后)