簡體   English   中英

如何計算Pandas Dataframe中變量的唯一組合

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM