Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Meratakan Kumpulan PandasBy MultiIndex DataFrame?

Bagaimana untuk Meratakan Kumpulan PandasBy MultiIndex DataFrame?

Mary-Kate Olsen
Lepaskan: 2024-12-02 00:01:09
asal
332 orang telah melayarinya

How to Flatten a Pandas GroupBy MultiIndex DataFrame?

Menukar Output Pandas GroupBy MultiIndex Kembali ke DataFrame

Apabila melakukan operasi groupby pada panda DataFrame dengan berbilang lajur indeks, terhasil objek ialah DataFrame dengan indeks hierarki. Ini boleh menyusahkan jika anda ingin mengakses data sebagai baris individu.

Berikut ialah contoh mudah:

df1 = pd.DataFrame({"City": ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"], "Name": ["Alice", "Bob", "Mallory", "Mallory", "Bob", "Mallory"]})

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

Output g1 ialah DataFrame dengan indeks hierarki:

                  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 dengan baris individu, anda boleh menggunakan sama ada kaedah add_suffix dan reset_index:

g1.add_suffix("_Count").reset_index()
Salin selepas log masuk

Ini akan menambah akhiran pada lajur indeks dan menetapkan semula indeks untuk mencipta DataFrame rata:

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

Atau, anda boleh menggunakan kaedah saiz dan reset_index untuk mengira bilangan baris dalam setiap kumpulan dan mencipta yang baharu DataFrame:

DataFrame({'count': df1.groupby(["Name", "City"]).size()}).reset_index()
Salin selepas log masuk

Ini akan mencipta DataFrame dengan satu lajur indeks:

      Name      City  count
0    Alice   Seattle      1
1      Bob   Seattle      2
2  Mallory  Portland      2
3  Mallory   Seattle      1
Salin selepas log masuk

Pendekatan yang anda gunakan akan bergantung pada keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Meratakan Kumpulan PandasBy MultiIndex 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