Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Siri Pandas GroupBy MultiIndex kepada DataFrame?

Bagaimana untuk Menukar Siri Pandas GroupBy MultiIndex kepada DataFrame?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 06:23:05489semak imbas

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

Menukar Output Pandas GroupBy Multiindex daripada Siri 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn