Mengambil Baris daripada Keluaran Siri Pandas GroupBy MultiIndex
Memandangkan DataFrame dengan multi-index, anda boleh melakukan operasi GroupBy untuk mengira atau agregat nilai. Walau bagaimanapun, output yang terhasil ialah Siri dengan indeks hierarki, menjadikannya sukar untuk melihat baris mentah. Artikel ini membincangkan cara menukar output ini kembali kepada DataFrame yang mengandungi baris asal.
Soalan:
Bagaimana anda boleh mengubah output Siri berbilang indeks Kumpulan Pandas, seperti:
City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
ke dalam DataFrame lain yang mengekalkan semua yang asal baris?
Jawapan:
Kunci untuk menukar Siri kembali kepada DataFrame adalah dengan mengendalikan indeks hierarki. Berikut ialah dua pendekatan:
1. Menggunakan add_suffix dan reset_index
g1.add_suffix('_Count').reset_index()
Kaedah ini menambah akhiran pada nama lajur dan menetapkan semula indeks hierarki untuk mencipta DataFrame baharu dengan flat indeks.
Output:
Name City City_Count Name_Count 0 Alice Seattle 1 1 1 Bob Seattle 2 2 2 Mallory Portland 2 2 3 Mallory Seattle 1 1
2. Menggunakan DataFrame dan reset_index
DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Kaedah ini mencipta DataFrame baharu daripada saiz terkumpul dan menetapkan semula indeks hierarki untuk mendapatkan DataFrame rata.
Output:
Name City count 0 Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 3 Mallory Seattle 1
Pendekatan ini membolehkan anda mengekstrak baris daripada keluaran Siri berbilang indeks GroupBy dan bina semula DataFrame yang mengandungi semua data asal.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Keluaran Siri Berbilang Indeks Pandas GroupBy ke DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!