2017-01-15 55 views
0

我想按列值組合行。如何使用Pandas groupby來計數?

這是數據框的樣子:

Id  model  c3 c4 c5 c6 ...etc 
174_ap c:143  ar ... 
174_dp c:143  rv ... 
777_ap c:177  gb ... 
777_dp c:177  ch ... 

有每車2號線,ap是對簽入的第一次檢查和DP結賬退房。由於模型只重複上我想加入行我試圖通過與加盟:

df = df.groupby('model') 

但由此產生的DF長相酷似前一個,沒有什麼改變。

我在這裏做錯了什麼?

PS .:每輛車和檢查的列數有所不同。

+0

你必須然後*做一些事*與分組DFF .... – smci

回答

0

似乎只有model重複;所以通過分組,如果打算得到計數,groupby確實工作。

enter image description here

0

我會分裂Id,設置索引與分割和拆散。

idx = df.Id.str.split('_', expand=True).values.T.tolist() 
df.drop('Id', 1).set_index(idx).stack().unstack([1, 2]) 

     ap     dp    
    model c3 c4 c5 model c3 c4 c5 
174 c:143 ar ar ar c:143 rv rv rv 
777 c:177 gb gb gb c:177 ch ch ch