gpt4 book ai didi

python - Pandas:创建字典,其中一列是键,其余列的列表是值

转载 作者:行者123 更新时间:2023-12-03 20:01:01 28 4
gpt4 key购买 nike

以下是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]}

最佳答案

使用 DataFrame.to_dict orient='list'和转置 DataFrame :

d = df.set_index('site_id').T.to_dict(orient='list')
print (d)
{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 - Pandas:创建字典,其中一列是键,其余列的列表是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66149627/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com