在 Pandas 中导入时,数据如下所示:
>>> BOM.PriceQty['substrate']
'[200.0, 300.0, 500.0]'
如何将其转换为浮点数列表?
试过convert_objact:
>>> BOM.PriceQty['substrate'].convert_object(convert_numeric=True)
Traceback (most recent call last): File "", line 1, in AttributeError: 'str' object has no attribute 'convert_object'
谢谢!
最佳答案
这可以很好地将表示浮点数列表的字符串转换为实际的浮点数列表:
s = '[200.0, 300.0, 500.0]'
l = [float(x.strip(' []')) for x in s.split(',')]
strip
函数删除任何 ' '
, '['
, 和 ']'
split 产生的字符。结果:
In [1]: l
Out[1]: [200.0, 300.0, 500.0]
如果要将此转换应用于整个列,
apply
它作为 lambda
功能:BOM.PriceQty.apply(lambda s: [float(x.strip(' []')) for x in s.split(',')])
关于python-3.x - 将列表字符串转换为 float 列表 [pandas],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35288052/