如何在重复索引的情况下从 DataFrame 获取唯一计数

how to get Unique count from a DataFrame in case of duplicate index

我正在处理数据框。图中数据

问。我想要每年发布的节目数量,但如果我应用 count() 函数,它会给我 6 个而不是 3 个。谁能建议我如何获得正确的计数值。

df['show_id'].nunique().count()

应该完成这项工作。

要获取单个年份的唯一值,可以使用

count = len(df.loc[df['release_year'] == 1945, 'show_id'].unique())

# or

count = df.loc[df['release_year'] == 1945, 'show_id'].nunique()

要按年份汇总数据框的唯一值,您可以先在 show_id 列上 drop_duplicates()

df.drop_duplicates(subset=['show_id']).groupby('release_year').count()

或在删除重复项后在列上使用 value_counts()

df.drop_duplicates(subset=['show_id'])['release_year'].value_counts()