【问题标题】:Pandas dataframe - Unique counts based on different conditionsPandas 数据框 - 基于不同条件的唯一计数
【发布时间】:2020-08-01 17:02:30
【问题描述】:

我有一个这样的数据框

screenshot

我想知道:

  • 独立观看者:3
  • 评论过电影的唯一观众:2

我可以使用以下代码做到这一点:

movie['Viewer_ID'].nunique()

movie.loc[movie['watched']==1,:]['Viewer_ID'].nunique()

但是,我想知道是否有更好的方法将两者合二为一,例如

movie.agg({'Viewer_id':'nunique'
      ,'watched': 'sum'
    })

有没有办法可以在 agg 函数中编写条件计数?

【问题讨论】:

  • 您好,您尝试我的解决方案了吗?

标签: pandas dataframe aggregate pandas-groupby unique


【解决方案1】:

你可以使用.groupby():

view_count = movie.groupby('Viewer_id').watched.sum()

现在view_count 是一个系列,其中查看者 ID 为索引,观看的总和为值。您可以使用以下方式过滤:

filtered = view_count.loc[view.count > 0]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多