gpt4 book ai didi

python - 来自 groupby 多列的 bin 大小的嵌套字典

转载 作者:行者123 更新时间:2023-11-28 20:59:16 31 4
gpt4 key购买 nike

df = pd.DataFrame({'a': [1,1,1,1,2,2,2,2,3,3,3,3], 'b': [5,5,1,1,3,3,3,1,2,1,1,1,]})
>>> df
a b
0 1 5
1 1 5
2 1 1
3 1 1
4 2 3
5 2 3
6 2 3
7 2 1
8 3 2
9 3 1
10 3 1
11 3 1
>>> df.groupby(['a','b']).size().to_dict()
{(1, 5): 2, (3, 2): 1, (2, 3): 3, (3, 1): 3, (1, 1): 2, (2, 1): 1}

我得到的是每个 ab 组合的计数,其中一个 tuple 作为 key 但我想要达到的是:

{1: {5: 2, 1: 2}, 2: {3: 3, 1: 1}, 3: {2: 1, 1: 3} }

最佳答案

你需要一个额外的 groupby 在一个 dict comprehension 中:

i = df.groupby(['a','b']).size().reset_index(level=1)
j = {k : dict(g.values) for k, g in i.groupby(level=0)}

print(j)
{
1: {1: 2, 5: 2},
2: {1: 1, 3: 3},
3: {1: 3, 2: 1}
}

关于python - 来自 groupby 多列的 bin 大小的嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49924864/

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