1
這裏是定義如下一個大熊貓數據幀:如何做一些像pandas中的groupby()和value_counts()這樣的操作?
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three', 'two'],
'C' : [0, 1, 0, 1, 1, 2, 0, 2, 1]})
>>> df
A B C
0 foo one 0
1 bar one 1
2 foo two 0
3 bar three 1
4 foo two 1
5 bar two 2
6 foo one 0
7 foo three 2
8 foo two 1
我想要做兩次手術。
首先,按列A
和B
將數據幀分組。因此,在這種情況下獲得6個組。此操作與pandas中的groupby()函數類似。
然後,對於每個組,執行列C
的計數操作,因爲在這種情況下它可以是三個不同的值(0,1和2)。此操作與pandas中的value_counts()函數類似。
最後,我想要一個像這樣的新數據框。
A B C_value0 C_value1 C_value2
0 foo one 2 0 0
1 foo two 1 2 0
2 foo three 0 0 1
3 bar one 0 1 0
4 bar two 0 0 1
5 bar three 0 1 0
有人能告訴我如何做到這一點嗎?謝謝!
很好的解決方案!非常感謝你! – o0Helloworld0o
很高興能爲您提供幫助。請不要忘記[接受](http://meta.stackexchange.com/a/5235/295067)它。謝謝。 – jezrael
當我運行你的代碼時,出現了一個錯誤。該錯誤說「TypeError:必須通過索引來重命名」。然後我刪除「.rename_axis(None,axis = 1)」,它可以成功運行。 – o0Helloworld0o