为了账号安全,请及时绑定邮箱和手机立即绑定

Python熊猫| 为每个列创建单独的列表

Python熊猫| 为每个列创建单独的列表

海绵宝宝撒 2021-05-01 08:54:01
我不确定如何使用清单来实现以下目标。我有一个这样的数据框:Param_1     Param_2     Param_3-0.171321   0.0118587   -0.1487521.93377     0.011752    1.97074.10144     0.0112963   4.068616.25064     0.0103071   5.83927我要为每个列创建单独的列表,列表名称是列标签。我不想继续做:Param_1 = df["Param_1"].values.tolist()请让我知道是否有办法做到这一点。谢谢。
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

新增中 .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]


查看完整回答
反对 回复 2021-05-11
?
holdtom

TA贡献1805条经验 获得超10个赞

也能 agg


>>> df.agg(tuple)


Param_1               (-0.171321, 1.93377, 4.10144, 6.25064)

Param_2    (0.0118587, 0.011752, 0.011296299999999999, 0....

Param_3                (-0.148752, 1.9707, 4.06861, 5.83927)

dtype: object

如果真的需要lists,


df.agg(tuple).transform(list)


查看完整回答
反对 回复 2021-05-11
  • 3 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信