当导入 pandas 时,数据如下所示:
>>> BOM.PriceQty['substrate']
'[200.0, 300.0, 500.0]'
Run Code Online (Sandbox Code Playgroud)
如何将其转换为浮点数列表?尝试了convert_object:
>>> BOM.PriceQty['substrate'].convert_object(convert_numeric=True)
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用):文件“”,第 1 行,在 AttributeError 中:“str”对象没有属性“convert_object”
谢谢!
这可以很好地将表示浮点数列表的字符串转换为实际的浮点数列表:
s = '[200.0, 300.0, 500.0]'
l = [float(x.strip(' []')) for x in s.split(',')]
Run Code Online (Sandbox Code Playgroud)
该函数删除分割产生的strip所有' '、'['、 和字符。']'
结果:
In [1]: l
Out[1]: [200.0, 300.0, 500.0]
Run Code Online (Sandbox Code Playgroud)
如果您想将此转换应用于整个列,请将apply其作为lambda函数:
BOM.PriceQty.apply(lambda s: [float(x.strip(' []')) for x in s.split(',')])
Run Code Online (Sandbox Code Playgroud)