2015-11-29 203 views
1

我有一個數據框,我想找到每個值的出現次數。當我使用這個命令value_counts不能正常工作

test = df['name'].value_counts()

我得到正確的結果,但是當我嘗試這個

df['occ'] = df['name'].value_counts()

我在 'OCC' 列只得到NaN的。

我的數據框有3列,前兩個包含不相關的值,第三個包含我要計數的值。數據框沒有任何空單元。

有什麼建議嗎?

回答

3

您將需要使用join operation

>>> df 
    name 
0 A 
1 B 
2 C 
3 A 
4 C 
5 A 
>>> ts = df['name'].value_counts() 
>>> ts.name = 'occ' 
>>> df.join(ts, on='name') 
    name occ 
0 A 3 
1 B 1 
2 C 2 
3 A 3 
4 C 2 
5 A 3 

,你會得到每一個名字的出現在它的面前。

+0

謝謝!這有幫助! – mnmbs