我有一个文件把存款余额列为字符串。为了绘制这些数字,我试图将这些对象转换成一个浮点数。因此,我编写了代码来删除$,并在值前后去掉空格。你知道吗
member_clean.TotalDepositBalances = member_clean.TotalDepositBalances.str.replace('$', '')
member_clean['TotalDepositBalances'] = member_clean['TotalDepositBalances'].str.strip()
member_clean['TotalDepositBalances'] = member_clean['TotalDepositBalances'].astype(float)
当我运行代码时,会收到一条错误消息
ValueError:无法将字符串转换为浮点值:
就这样。在我添加str.strip公司,错误消息显示一些值前后有空格,因此我知道要删除这些值。但我有点困惑是什么原因造成的
删除空格和$后,我查看了列的值,所有内容看起来都正常。这是一个样本。你知道吗
有什么想法,我可以检查在列中,可能会导致这个错误
必须删除逗号,因为它们不是Python可以识别的数字格式。因此,考虑到您给出的列表作为可能的输入:
你必须这样做:
并给出你的浮动列表:
注意:您不需要执行
str.strip()
,因为这些空格会自动从float casting操作中删除。你知道吗遵循管道,在转换为float之前,需要执行以下操作:
或者可以在一行代码上运行整个管道,如下所示:
额外:性能
Here您将发现一些测试,这些测试提供了执行字符串中插入的多个替换的各种方法的比较。令人惊讶的是,在cascade中使用
replace
(就像在管道中一样),对于这种类型的操作,它比regex更有效。读一读。你知道吗处理大型数据集或系列的一种有用方法是创建一个包含已更正值的查找字典,以便不会重新计算重复值:
相关问题 更多 >
编程相关推荐