[英]How to count unique combinations of variable in a Pandas Dataframe
我正在使用pandas來計算數據幀中變量集的唯一組合。 我目前正在使用.groupby()函數,但我認為我缺少它的一部分功能。
示例代碼:
import pandas
df = pd.DataFrame([['A','C','G'],
['A','C','H'],
['A','D','G'],
['A','D','H'],
['B','E','I'],
['B','F','I']], columns=['a','b','c'])
df
a b c
0 A C G
1 A C H
2 A D G
3 A D H
4 B E I
5 B F I
我想知道,對於每個獨特的價值a,它有多少不同的b? 在此示例中,所需輸出為A:2,B:2,因為A具有兩個唯一的b值,B具有兩個唯一的b值。
如果我計算每個的唯一c,我會期望A:2,B:1。
我目前的代碼是:
df.groupby(['a','b'],as_index=False).count().groupby(['a'], as_index=False).count()[['a','b']]
a b
0 A 2
1 B 2
df.groupby(['a','c'], as_index=False).count().groupby(['a'],as_index=False).count()[['a','c']]
a c
0 A 2
1 B 1
這給了我正確的結果,但我認為應該有辦法避免兩組groupby()和count(),不是嗎?
nunique
怎么nunique
?
df.groupby('a')['b'].nunique()
Out[36]:
a
A 2
B 2
Name: b, dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.