gpt4 book ai didi

python - 一列中唯一对的数量 - Pandas

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:16 28 4
gpt4 key购买 nike

我在为 pandas 中的数据框生成统计信息时遇到了一些问题。我的数据框看起来像这样(我省略了索引):

id    type  
1 A
2 B
3 A
1 B
3 B
2 C
4 B
4 C

重要的是,每个 id 都分配了两个 type 值,如上例所示。我想计算所有 type 组合的出现次数(因此计算具有给定 type 组合的唯一 id 的数量),所以我想获得这样的数据框:

type    count
A, B 2
A, C 0
B, C 2

我尝试以多种方式使用 groupby,但没有成功。我可以使用 for-loop 和多行代码来完成这种“计数”,但我相信必须有优雅和适当的(在 python 术语中)解决这个问题。

提前感谢您的任何提示。

最佳答案

pd.value_countsitertools.combinations

from itertools import combinations

pd.value_counts(
[(x, y) for _, d in df.groupby('id') for x, y in combinations(d.type, 2)]
)

(A, B) 2
(B, C) 2
dtype: int64

关于python - 一列中唯一对的数量 - Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159144/

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