gpt4 book ai didi

python - 在 Pandas 中将多列分组为一列

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

我有一个与此类似的 DataFrame:

|   | id | Group1 | Group2 | Group3 |
|---|----|--------|--------|--------|
| 0 | 22 | A | B | C |
| 1 | 23 | B | C | D |
| 2 | 24 | C | B | A |
| 3 | 25 | D | A | C |

我想要得到这样的东西:

|   | Group | id_count |
|---|-------|----------|
| 0 | A | 3 |
| 1 | B | 3 |
| 2 | C | 3 |
| 3 | D | 2 |

基本上,对于每个组,我想知道有多少人(id)选择了它。

我知道有 pd.groupby(),但它只为一列提供适当的结果(如果我给它一个列表,它不会将组 1,2,3 合并为一个)列)。

最佳答案

使用DataFrame.meltGroupBy.size :

df1 = (df.melt('id', value_name='Group')
.groupby('Group')
.size()
.reset_index(name='id_count'))

print (df1)
Group id_count
0 A 3
1 B 3
2 C 4
3 D 2

关于python - 在 Pandas 中将多列分组为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63936526/

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