这是我的数据框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()
答案 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