我有以下數據框:如何過濾掉,並通過排組條目值
df =
ID GROUP_1 GROUP_2 GROUP_3 GRADE
1A AAA BBB AAA 5
1B BBB BBB CCC 4
1C AAA BBB BBB 4
我想指望有傲人的成績5
,4
,行數..,1
爲GROUP
每個唯一值。請注意,在第一行中,有兩次出現AAA
,但是我算了一次。
對於給定數據集的預期輸出如下:
GROUP GRADE_1 GRADE_2 GRADE_3 GRADE_4 GRADE_5
AAA 0 0 0 1 1
BBB 0 0 0 2 1
CCC 0 0 0 1 0
我有低於給定的代碼,它工作正常,但不包括分組(groupby('GRADE')
)。我不知道如何按GRADE
對結果進行分組,並創建列GRADE_1
,GRADE_2
,...,GRADE_5
。
df.groupby('GRADE').filter(regex="^GROUP").stack().reset_index(level=1, drop=True).reset_index().drop_duplicates()[0].value_counts()