GroupBy dan Tukar DataFrame kepada Kamus Senarai
Memandangkan fail Excel yang mengandungi data berstruktur, matlamatnya adalah untuk mengekstrak data, mengumpulkannya oleh lajur tertentu, dan simpannya dalam kamus Python dengan senarai sebagai nilai. Format data dalam helaian Excel ialah:
Column1 | Column2 | Column3 |
---|---|---|
0 | 23 | 1 |
1 | 5 | 2 |
1 | 2 | 3 |
1 | 19 | 5 |
2 | 56 | 1 |
2 | 22 | 2 |
3 | 2 | 4 |
3 | 14 | 5 |
4 | 59 | 1 |
5 | 44 | 1 |
5 | 1 | 2 |
5 | 87 | 3 |
Penyelesaian 1: groupby.apply().to_dict()
Untuk menukar data ke dalam kamus yang diingini format, ikut langkah berikut:
<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() print(result)</code>
Penyelesaian 2: Pemahaman Kamus
Sebagai alternatif, anda boleh menggunakan pemahaman kamus untuk mencapai hasil yang sama:
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']} print(result)</code>
Keluaran kedua-dua penyelesaian ialah:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan DataFrame mengikut Lajur dan Menukarkannya kepada Kamus Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!