2017-03-06 69 views
1

我創建了以下代碼,它計算一個人(通過他們的login_id)在一年中登錄到程序的次數。Python中的計數和groupby

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 

我想算account_ids的數量爲每個單獨employer_key,這樣我可以確定多個賬戶如何記錄在每一個人的僱主在一年的時間。

輸出會希望是這個樣子:

employer_key user_logins 
Apple   2    
Google   1    
Facebook   2    
+0

多少*獨特*帳戶? –

+0

在我的實際數據集中,我有數千人。 – PhishFood

+0

不,我的問題是,如果你想爲每個僱主統計*獨特*用戶。我認爲你的數據可能已經在該列中只有唯一的'account_id',所以它可能是一個爭議點。 –

回答

1

我想這應該工作:

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

我的上面的代碼是如何分解到您提供的代碼中的?當我運行你的代碼時,它會返回所有日期的數據,而不是我指定的一年期間。我不確定如何將一年期間整合到您的代碼中。謝謝! – PhishFood

+1

我的答案適用於您的代碼輸出,如第一個輸出塊所示。 – DyZ

+0

連接兩個代碼的具體部分是什麼?非常感謝您的幫助,我非常感謝。 – PhishFood