簡體   English   中英

在python pandas數據框中按唯一值分組

[英]Grouping by unique values in python pandas dataframe

我有這樣的數據聲望

                      id    rev     committer_id 
date                
1996-07-03 08:18:15     1   76620   1
1996-07-03 08:18:15     2   76621   2
1996-11-18 20:51:08     3   76987   3
1996-11-21 09:12:53     4   76995   2
1996-11-21 09:16:33     5   76997   2
1996-11-21 09:39:27     6   76999   2
1996-11-21 09:53:37     7   77003   2
1996-11-21 10:11:35     8   77006   2
1996-11-21 10:17:50     9   77008   2
1996-11-21 10:23:58     10  77010   2
1996-11-21 10:32:58     11  77012   2
1996-11-21 10:55:51     12  77014   2

我想按季度周期分組,然后在committer_id列中顯示唯一條目的數量。 目前暫時不使用idrev列。

我想要一個如下committer_id的結果

date    
1996-09-30  2
1996-12-31  91
1997-03-31  56
1997-06-30  154
1997-09-30  84

實際結果是按每個時間段中的條目數而不是唯一條目匯總的。 我正在使用以下內容:

df[['committer_id']].groupby(pd.Grouper(freq='Q-DEC')).aggregate(np.size)

無法弄清楚如何使用np.unique。

任何想法,請。

最好,

-

df[['committer_id']].groupby(pd.Grouper(freq='Q-DEC')).aggregate(pd.Series.nunique)

應該為您工作。 df.groupby(pd.Grouper(freq='Q-DEC'))['committer_id'].nunique()

您嘗試使用np.unique無效,因為它返回了一組唯一的項目。 agg的結果必須是標量。 因此.aggregate(lambda x: len(np.unique(x))可能也會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM