将列表的字符串转换为浮点数列表[pandas]

时间:2016-02-09 09:17:32

标签: python-3.x pandas

在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'

谢谢!

1 个答案:

答案 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(',')])