【发布时间】:2021-05-14 21:25:06
【问题描述】:
下面是df:
In [1114]: df
Out[1114]:
site_id a b c d e
0 1 4 2 5 50 150
1 2 56 3 6 60 160
2 3 7 4 7 70 170
3 4 8 5 8 80 180
我想创建一个dict,其中site_id 列是键,其他列的列表是值。
我的尝试:
In [1101]: y = df.site_id.values
In [1109]: x = df[df.columns.difference(['site_id'])].values
In [1112]: d = {i:x[c] for c,i in enumerate(y)}
In [1113]: d
Out[1113]:
{1: array([ 4, 2, 5, 50, 150]),
2: array([ 56, 3, 6, 60, 160]),
3: array([ 7, 4, 7, 70, 170]),
4: array([ 8, 5, 8, 80, 180])}
我能够解决它,但正在寻找更多pandaic 的方式。
预期输出:
{1: [4, 2, 5, 50, 150],
2: [56, 3, 6, 60, 160],
3: [7, 4, 7, 70, 170],
4: [8, 5, 8, 80, 180]}
【问题讨论】:
标签: python python-3.x pandas dataframe dictionary