gpt4 book ai didi

python - Pandas 数据框到元组列表的字典

转载 作者:行者123 更新时间:2023-12-03 18:36:19 25 4
gpt4 key购买 nike

假设我有以下数据框:

df = pd.DataFrame({'id': [1,2,3,3,3], 'v1': ['a', 'a', 'c', 'c', 'd'], 'v2': ['z', 'y', 'w', 'y', 'z']})
df
id v1 v2
1 a z
2 a y
3 c w
3 c y
3 d z
我想将其转换为这种格式:
{1: [('a', 'z')], 2: [('a', 'y')], 3: [('c', 'w'), ('c', 'y'), ('d', 'z')]}
我基本上想创建一个字典,其中键是 id,值是这个 id 的 (v1,v2) 的元组列表。
我尝试在 id 中使用 groupby:
df.groupby('id')[['v1', 'v2']].apply(list)
但这没有用

最佳答案

首先创建元组,然后使用聚合 groupby 传递给 list :

d = df[['v1', 'v2']].agg(tuple, 1).groupby(df['id']).apply(list).to_dict()
print (d)
{1: [('a', 'z')], 2: [('a', 'y')], 3: [('c', 'w'), ('c', 'y'), ('d', 'z')]}
另一个想法是使用 MultiIndex :
d = df.set_index(['v1', 'v2']).groupby('id').apply(lambda x: x.index.tolist()).to_dict()

关于python - Pandas 数据框到元组列表的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63468636/

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