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
Lepaskan: 2024-12-09 06:23:05
asal
503 orang telah melayarinya

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
Salin selepas log masuk

Menggunakan GroupBy dengan berbilang lajur, kita boleh mengira kejadian:

g1 = df1.groupby(["Name", "City"]).count()
Salin selepas log masuk

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
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan