估计每组独特出现的次数

时间:2017-04-20 11:18:33

标签: python pandas

这是我的数据框df

CITY   ID_C
abc    123
abc    123
abc    456
def    123
def    456
def    789
def    789

我需要计算按ID_C分组的CITY唯一值的数量:

CITY  TOTAL_UNIQUE_COUNT
abc   2
def   3

我尝试了此代码,但收到错误ValueError: cannot insert ID_CITIZEN, already exists

df.groupby('CITY').ID_C.value_counts().reset_index()

1 个答案:

答案 0 :(得分:2)

有一种直接的方法:

df.groupby('CITY')['ID_C'].nunique()
Out: 
CITY
abc    2
def    3
Name: ID_C, dtype: int64

格式化:

df.groupby('CITY')['ID_C'].nunique().to_frame('TOTAL_UNIQUE_COUNT')
Out: 
      TOTAL_UNIQUE_COUNT
CITY                    
abc                    2
def                    3

df.groupby('CITY')['ID_C'].nunique().to_frame('TOTAL_UNIQUE_COUNT').reset_index()
Out: 
  CITY  TOTAL_UNIQUE_COUNT
0  abc                   2
1  def                   3