Menstrukturkan Semula Data Jadual dengan Panda: Menukar Lajur kepada Baris
Berurusan dengan data yang disusun dalam lajur untuk tarikh atau kategori yang berbeza boleh menyusahkan. Pandas menyediakan penyelesaian yang berkuasa untuk menukar lajur tersebut kepada baris yang mudah dibaca. Artikel ini menangani cabaran khusus untuk mengubah CSV dengan maklumat lokasi dan berbilang lajur tarikh kepada format yang diingini.
Pernyataan Masalah:
Pertimbangkan set data dengan maklumat yang disusun oleh lokasi, setiap satu dengan berbilang tarikh sebagai pengepala lajur. Matlamatnya adalah untuk menstruktur semula data ke dalam format yang setiap baris mewakili lokasi unik, nama, tarikh dan nilai yang sepadan dengannya.
Penyelesaian Pandas:
Tawaran Pandas kaedah yang sangat cekap untuk mencapai transformasi ini menggunakan leburannya fungsi.
Kod:
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
Penjelasan:
Hasil:
Menggunakan fungsi cair pada set data yang disediakan menghasilkan output yang diingini:
location | name | Date | Value |
---|---|---|---|
A | "test" | Jan-2010 | 12 |
B | "foo" | Jan-2010 | 18 |
A | "test" | Feb-2010 | 20 |
B | "foo" | Feb-2010 | 20 |
A | "test" | March-2010 | 30 |
B | "foo" | March-2010 | 25 |
Susunan baharu ini memudahkan untuk menganalisis data mengikut lokasi, nama dan tarikh.
Nota:
Untuk versi lama Panda (0.20 atau lebih awal), pendekatan alternatif berikut boleh digunakan:
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"])
Atas ialah kandungan terperinci Bagaimanakah Fungsi Pandas `melt()` Menstrukturkan Semula Data Jadual daripada Lajur kepada Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!