Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Siri Pandas GroupBy MultiIndex kepada DataFrame?
Apabila mengumpulkan DataFrame dengan berbilang lajur menggunakan GroupBy, hasilnya selalunya Siri MultiIndex. Walau bagaimanapun, dalam senario tertentu, anda mungkin memerlukan data kembali dalam format DataFrame. Artikel ini menunjukkan cara untuk menukar output Siri MultiIndex GroupBy kembali kepada DataFrame.
Pertimbangkan contoh DataFrame berikut:
City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Seattle Mallory 4 Seattle Bob 5 Portland Mallory
Menggunakan GroupBy dengan berbilang lajur, kita boleh mengira kejadian:
g1 = df1.groupby(["Name", "City"]).count()
Walau bagaimanapun, output g1 ialah MultiIndex Siri:
City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
Untuk menukar ini kembali kepada DataFrame, anda boleh memanfaatkan dua pendekatan:
Kaedah 1: Menambah Sufiks dan Tetapan Semula Indeks
Tambah akhiran pada nama lajur dan tetapkan semula indeks:
g1.add_suffix('_Count').reset_index()
Ini akan mencipta DataFrame dengan tiga lajur: Nama, Bandar dan dua lajur tambahan yang diakhiri dengan _Count untuk menandakan kiraan.
Kaedah 2: Menggunakan DataFrame Pembina
Sebagai alternatif, anda boleh menggunakan DataFrame pembina dengan kaedah .size() untuk mengira kejadian dan menetapkan semula indeks:
DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Pendekatan ini akan mencipta DataFrame dengan dua lajur: Nama, Bandar dan kiraan lajur tambahan yang mewakili kiraan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Siri Pandas GroupBy MultiIndex kepada DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!