使用Pandas获取按年和月分组的不同且唯一的用户计数

时间:2018-01-23 14:59:17

标签: python pandas

我有一个这样的数据框:

|User|Month|Year|
| 1  | 3   |2010|
| 1  | 4   |2010|
| 2  | 4   |2010|
| 3  | 5   |2010|
| 7  | 8   |2011|
| 3  | 5   |2011|

我只想根据月份和年份获得不同的用户数量

对于示例表,

2010 3.month has 1 user (user 1)
2010 4.month has 1 user (user 2) (not user 1 because its already registered in 3. month)
2010 5. month has 1 user (user 3)

1 个答案:

答案 0 :(得分:0)

以下是我将如何解决它。 1.取每个用户的第一次出现 2.Groupby获得唯一计数

df.groupby('User').first().reset_index().groupby(['Year', 'Month'])['User'].nunique()

缺货[98]:

 Year  Month
 2010  3        1
       4        1
       5        1
 2011  8        1
 Name: User, dtype: int64