私はパンダのデータフレームに次のようにデータを持っています:
df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'],
'B':['yes','no','no','no','yes','yes','no','yes','yes','no']})
だから、私のデータはこのようになります
----------------------------
index A B
0 yes yes
1 yes no
2 yes no
3 yes no
4 no yes
5 no yes
6 yes no
7 yes yes
8 yes yes
9 no no
-----------------------------
別のデータフレームに変換したいと思います。予想される出力は、次のPythonスクリプトで表示できます。
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
だから、私の期待される出力は次のようになります
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
実際には、次のコマンドを使用して、すべての組み合わせを見つけてそれらを数えることができます。 mytable = df1.groupby(['A','B']).size()
ただし、そのような組み合わせは1つの列にあることがわかります。組み合わせの各値を別の列に分けて、カウント結果の列を1つ追加します。それは可能ですか?提案をいただけますか?前もって感謝します。
set_index()
。groupby()
特定の一般的な列のペアで行をグループ化するために使用しようとし続けました。すばらしい、ありがとう!