這裏聚集是我的問題:熊貓交叉,但其值從第三列
df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] ,
'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] ,
'C': [1, 0, 0, 1,0 ]})
我想產生類似pd.crosstab
功能的輸出,但在列和行的交集值應該來自第三列的聚合:
Ar, Br, Cr
one 0.5 0 0
two 1 0 0
例如,有是1,0我們總結在列「C」的值(「一」和列「C」「中,Ar」對應值兩種情況0+ 1)併除以列'C'中的值的數量,因此我們得到(0 + 1)/ 2 = 0.5。每當組合不存在時,我們(如'Cr'和'one')將其設置爲零。有什麼想法嗎?
你和piRSquared提供了出色的答案!他們都是正確答案,很難決定給誰正式答覆標籤。我把它交給了piRSquared,因爲他/她的排名略低於你。希望你不會介意。 – user1700890
@ user1700890,絕對沒錯!我也非常喜歡他的回答。實際上''pivot_table()'正是這樣做的(加上一些額外的東西)在...之下......) – MaxU