如何使用pandas/python使用groupby只计算唯一值?

如何使用pandas/python使用groupby只计算唯一值?,python,pandas,Python,Pandas,如何处理此数据帧,使其仅计算“unique_Id”的唯一/不同值?我尝试过的每一件事都给了我独特的社区价值观,或者是犯了一个错误 df.groupby("Community")["Unique_Id"].count().sort_values(ascending = False) 这是我得到的输出: Comunidad_Autónoma Cataluña 534415 Comunidad Valenciana 475411 Madrid

如何处理此数据帧,使其仅计算“unique_Id”的唯一/不同值?我尝试过的每一件事都给了我独特的社区价值观,或者是犯了一个错误

df.groupby("Community")["Unique_Id"].count().sort_values(ascending = False)
这是我得到的输出:

Comunidad_Autónoma
Cataluña                534415
Comunidad Valenciana    475411
Madrid                  415047
Islas Canarias          171939
País Vasco              168297
Navarra                  57045
La Rioja                 26057
Name: Unique_Id, dtype: int64

一个可能的选项是在调用groupby方法之前使用。在下面的示例中,马德里有一个重复的Id:

import pandas as pd

df = pd.DataFrame(dict(
    Community = 'Cataluña,Madrid,Cataluña,Madrid,Cataluña,Madrid'.split(','),
    Unique_Id = [1, 2, 3, 4, 5, 2],
))

df1 = df.drop_duplicates(
        ['Community','Unique_Id']
    ).groupby(
        'Community'
    )['Unique_Id'].count().sort_values(ascending = False)

print(df1)
print(f'\nTotal Unique_Ids Across All Communities: {sum(df1.values)}')

您能创建一个新的应用程序吗?可能您需要
df['Unique\u Id'].nunique()
df.groupby([“Community”,“Unique\u Id”].count()
如果您试图通过社区组获得唯一值Unique\u Id']。否则
df['Unique\u Id'].nunique()
这些都不起作用。谢谢!您能提供输入(即您的``df```)?