在pandas中导入时,数据如下所示:
>>> BOM.PriceQty['substrate']
'[200.0, 300.0, 500.0]'
如何将其转换为浮动列表? 试过convert_objact:
>>> BOM.PriceQty['substrate'].convert_object(convert_numeric=True)
回溯(最近一次呼叫最后一次):文件"",第1行,in AttributeError:' str'对象没有属性 ' convert_object'
谢谢!
答案 0 :(得分:2)
这样可以很好地将表示浮点数列表的字符串转换为实际的浮点数列表:
s = '[200.0, 300.0, 500.0]'
l = [float(x.strip(' []')) for x in s.split(',')]
strip
功能会删除因拆分而产生的所有' '
,'['
和']'
字符。
结果:
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(',')])