【问题标题】:Count and groupby in PythonPython中的计数和分组
【发布时间】:2017-03-06 23:39:02
【问题描述】:

我创建了以下代码,用于计算一个人(通过他们的 login_id)在一年内登录程序的次数。

data1.query("'2015-12-01' <= login_date <= '2016-12-01'").groupby(['employer_key','account_id']).size().reset_index().groupby(['employer_key','account_id'])[[0]].count()

输出看起来像这样:

employer_key   account_id  # times logged in
 Apple            X1             1
 Google           Y5             2
 Facebook         X3             4
 Apple            X2             2
 Facebook         Y2             1

我想统计每个单独的employer_key 的account_id 数量,以便确定在一年内为每个单独的雇主登录了多少帐户。

希望输出看起来像这样:

employer_key   user_logins
 Apple            2             
 Google           1             
 Facebook         2            

【问题讨论】:

  • 有多少个唯一帐户?
  • 在我的实际数据集中我有数千个。
  • 不,我的问题是您是否想计算每个雇主的 unique 用户。我认为您的数据在该列中可能已经只有唯一的account_id,所以这可能是一个有争议的问题。
  • 抱歉。是的,所有 account_id 都是唯一的。

标签: python count group-by


【解决方案1】:

我想这应该可行:

data.groupby(['employer_key','account_id']).count().\
             unstack().sum(axis=1).astype(int)
#employer_key
#Apple       2
#Facebook    2
#Google      1
#dtype: int64

【讨论】:

  • 我上面的代码是如何融入到你提供的代码中的?当我运行您的代码时,它会返回所有日期的数据,而不是我指定的一年期间的数据。我不确定如何将一年时间整合到您的代码中。谢谢!
  • 我的答案适用于您的代码输出,如您的第一个输出块所示。
  • 链接这两个代码的具体部分是什么?非常感谢您的帮助,我真的很感激。
猜你喜欢
  • 2021-12-24
  • 2018-07-25
  • 1970-01-01
  • 2015-07-27
  • 2022-01-12
  • 1970-01-01
  • 2020-06-23
  • 2012-03-13
相关资源
最近更新 更多