Saya memiliki data saya dalam bingkai data panda sebagai berikut:
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']})
Jadi, data saya terlihat seperti ini
----------------------------
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
-----------------------------
Saya ingin mengubahnya menjadi bingkai data lain. Output yang diharapkan dapat ditampilkan dalam skrip python berikut:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Jadi, keluaran yang saya harapkan terlihat seperti ini
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Sebenarnya, saya dapat mencapai untuk menemukan semua kombinasi dan menghitungnya dengan menggunakan perintah berikut: mytable = df1.groupby(['A','B']).size()
Namun, ternyata kombinasi tersebut ada dalam satu kolom. Saya ingin memisahkan setiap nilai dalam kombinasi ke kolom yang berbeda dan juga menambahkan satu kolom lagi untuk hasil penghitungan. Apakah mungkin melakukan itu? Bolehkah saya mendapatkan saran anda Terima kasih sebelumnya.
set_index()
. Terus mencoba menggunakangroupby()
untuk mengelompokkan bersama baris dengan pasangan kolom umum tertentu. Luar biasa, terima kasih!