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

Bagaimana untuk Menukar Output Pandas GroupBy MultiIndex dari Siri kepada DataFrame?

Linda Hamilton
Lepaskan: 2024-11-22 22:35:20
asal
202 orang telah melayarinya

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

Menukar Pandas GroupBy MultiIndex Output daripada Siri kepada DataFrame

Pertimbangkan DataFrame berikut:

df1 = pd.DataFrame({'City': ['Seattle', 'Seattle', 'Portland', 'Seattle', 'Seattle', 'Portland'],
                    'Name': ['Alice', 'Bob', 'Mallory', 'Mallory', 'Bob', 'Mallory']})
Salin selepas log masuk

Selepas melakukan operasi pengumpulan menggunakan groupby( ), output ialah DataFrame indeks hierarki, seperti yang ditunjukkan di bawah:

g1 = df1.groupby(['Name', 'City']).count()

print(g1)
                   City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
Salin selepas log masuk

Untuk mendapatkan semula struktur DataFrame yang dikehendaki, terdapat beberapa pendekatan.

Menambah Akhiran dan Menetapkan Semula Indeks

Ini melibatkan penambahan akhiran pada lajur nama dan menetapkan semula indeks hierarki:

g1.add_suffix('_Count').reset_index()

print(
    pd.DataFrame({'City_Count': g1['City'],
                  'Name_Count': g1['Name']
                  })
)
          City_Count  Name_Count
Alice   Seattle      1           1
       Portland     2           2
Bob     Seattle      2           2
Mallory Portland     2           2
        Seattle      1           1
Salin selepas log masuk

Menggunakan Kaedah size()

Pendekatan alternatif ialah menggunakan kaedah size() untuk mengira kejadian bagi setiap kumpulan dan menetapkan semula indeks:

df1.groupby(['Name', 'City']).size().reset_index()

print(
    pd.DataFrame({'Name': g1.index.get_level_values(0),
                  'City': g1.index.get_level_values(1),
                  'Count': g1['City']
                  })
)
      Name      City  Count
0     Alice   Seattle      1
1       Bob   Seattle      2
2   Mallory  Portland      2
3   Mallory   Seattle      1
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Output Pandas GroupBy MultiIndex dari Siri 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