当前位置: 首页 > 知识库问答 >
问题:

转换字符串,应该是浮动列表中的数据帧列?[重复]

轩辕嘉平
2023-03-14

我在dataframe中有一个列,它是从另一个dataframe的列名(使用melt函数)创建的。因此,值是字符串,而不是内部带有浮点数的列表。列如下所示:

我需要的是一个列,其中有一个浮动列表。For loops看起来不是一个好主意,也不是一个优雅的主意,我没有任何其他的。。。

共有1个答案

卞昀
2023-03-14

使用ast.literal\u 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
 类似资料: