値:どのようにフィルタリングすると、グループのエントリの行によって、私は、次のデータフレーム持っ
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
の一意の各値について。 1行目にはAAA
の2回の出現がありますが、1回は数えます。
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()