Skip to main content
 首页 » 编程设计

python Pandas |为每一列创建单独的列表

2025年05月04日14zhenyulu

我不确定如何使用 tolist 来实现以下目标。我有一个这样的数据框:

Param_1     Param_2     Param_3 
-0.171321   0.0118587   -0.148752 
1.93377     0.011752    1.9707 
4.10144     0.0112963   4.06861 
6.25064     0.0103071   5.83927 

我想要的是为每一列创建单独的列表,列表名称是列标签。

我不想继续做:

Param_1 = df["Param_1"].values.tolist() 

如果有办法做到这一点,请告诉我。谢谢。

请您参考如下方法:

添加.T

df.values.T.tolist() 
Out[465]:  
[[-0.171321, 1.93377, 4.10144, 6.25064], 
 [0.0118587, 0.011752, 0.011296299999999999, 0.0103071], 
 [-0.148752, 1.9707, 4.06861, 5.83927]] 

或者我们可以创建dict

{x:df[x].tolist() for x in df.columns} 
Out[489]:  
{'Param_1': [-0.171321, 1.93377, 4.10144, 6.25064], 
 'Param_2': [0.0118587, 0.011752, 0.011296299999999999, 0.0103071], 
 'Param_3': [-0.148752, 1.9707, 4.06861, 5.83927]} 

或者使用 locals(不推荐,但似乎是你需要的)

variables = locals() 
for key in df.columns: 
    variables["{0}".format(key)]= df[key].tolist() 
Param_1 
Out[501]: [-0.171321, 1.93377, 4.10144, 6.25064]