2016-02-26 185 views
1

重複行我有以下pandasDataFrame計算每個唯一行值

a b c 
1 s 5 
1 w 5 
2 s 5 
3 s 6 
3 e 6 
3 e 5 

我需要爲a每個唯一值,得到如下結果計數的重複行:

a qty 
1 2 
2 1 
3 3 

如何在python中做到這一點?

回答

0

您可以使用GROUPBY:

g = df.groupby('a').size() 

這將返回:

a 
1 2 
2 1 
3 3 
dtype: int64 

編輯:重命名只是計數的單一新列。

如果你需要一個新的列,您可以:

g = df1.groupby('a').size().reset_index().rename(columns={0:'qty'}) 

獲得:

a qty 
0 1 2 
1 2 1 
2 3 3 
+0

如何追加列名?想象一下,我已經有100列了。我怎樣才能添加一個新的'數量'沒有手動定義現有的? – JoeBlack

+0

IIUC,請參閱編輯,希望有所幫助。 –