2017-02-22 36 views
3

在給定的熊貓數據框中,我需要計算列y中每個項目的唯一項目數。我想出了計數器中的計數方法,但他們似乎不能正常工作。什麼我試圖實例來管理:熊貓:對於列中的每個項目,計算另一個給定列中不同項目的數量

df = pd.DataFrame([[a, 2], [a, 1], [c, 4], [a, 1], [c, 4]]), columns=list('AB')) 

它創建了以下數據框:

A B 
0 a 2 
1 a 1 
2 c 4 
3 a 1 
4 c 4 

現在我想要的輸出應該是:

a:2 
c:1 
+0

如果我或另一種答案是有幫助的,不要忘了[接受](http://meta.stackexchange.com/a/5235/295067)它。謝謝。 – jezrael

回答

3

您需要groupbySeriesGroupBy.nunique和最後to_dict

print (df.groupby('A').B.nunique()) 
A 
a 2 
c 1 
Name: B, dtype: int64 

print (df.groupby('A').B.nunique().to_dict()) 
{'a': 2, 'c': 1} 
+0

@piRSquared - 是的,它也很好。順便說一句,你好嗎?忙? – jezrael

+0

我覺得大熊貓越來越受歡迎,許多新的答案來了,什麼是超級;) – jezrael

+0

我認爲這太棒了!我希望我們的工作能夠幫助更多的人爲此感到興奮。你比其他人回答更多的熊貓問題。只有你和EdChum回答比我多。 – piRSquared

相關問題