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