转换字符串应该是数据框架列中的浮点数列表?



我在dataframe中有一个列,它是从另一个dataframe的列名创建的(具有melt函数)。因此,这些值是字符串,而不是带有浮点数的列表。列看起来像这样:

间隔 tbody> <<tr>[100.00,3.00][3.00,2.00][2.00,1.00][0.25,0.00]

使用ast.literal_eval:

import ast
df['interval'] = df['interval'].apply(ast.literal_eval)

输出
>>> df
interval
0  [100.0, 3.0]
1    [3.0, 2.0]
2    [2.0, 1.0]
3     [1, 0.25]
4   [0.25, 0.0]
>>> df.loc[0, 'interval']
[100.0, 3.0]
>>> type(df.loc[0, 'interval'])
list

现在你可以转换成列,如果你想:

>>> df['interval'].apply(pd.Series)
0     1
0  100.00  3.00
1    3.00  2.00
2    2.00  1.00
3    1.00  0.25
4    0.25  0.00