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

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

Linda Hamilton
Linda Hamiltonasal
2024-11-22 22:35:20118semak imbas

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']})

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

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

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

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!

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