Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Hasil Kumpulan Pandas ke dalam Kamus Senarai?

Bagaimana untuk Menukar Hasil Kumpulan Pandas ke dalam Kamus Senarai?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 16:26:02231semak imbas

How to Convert Pandas GroupBy Results into a Dictionary of Lists?

Menukar Hasil GroupBy kepada Kamus Senarai

Untuk mengekstrak dan mengumpulkan data daripada helaian Excel, adalah perkara biasa untuk menggunakan groupby fungsi perpustakaan panda. Walau bagaimanapun, apabila output yang diingini ialah kamus di mana kunci sepadan dengan nilai kumpulan dan nilai adalah senarai elemen yang sepadan, pendekatan konvensional mungkin tidak mencukupi.

Untuk mencapai keperluan khusus ini, satu penyelesaian adalah dengan menggunakan aplikasi dan to_dict fungsi. Fungsi apply membenarkan penggunaan fungsi kepada setiap kumpulan, dalam kes ini, menukar Column3 kepada senarai. Fungsi to_dict kemudian menukar hasilnya kepada kamus. Kod berikut menunjukkan pendekatan ini:

<code class="python">import pandas as pd

excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols'A,C')
result = excel.groupby('Column1')['Column3'].apply(list).to_dict()</code>

Kod ini akan menghasilkan output yang diingini:

{0: [1],
1: [2, 3, 5],
2: [1, 2],
3: [4, 5],
4: [1],
5: [1, 2, 3]}

Sebagai alternatif, penyelesaian yang lebih padat ialah menggunakan pemahaman kamus:

<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}</code>

Pendekatan ini juga menghasilkan output yang diingini yang sama, memberikan pelaksanaan yang ringkas dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Hasil Kumpulan Pandas ke dalam Kamus Senarai?. 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