Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memisahkan Pandas DataFrame kepada Berbilang DataFrames Berdasarkan Nilai Lajur Menggunakan Groupby?
Memisahkan Bingkai Data Panda Berdasarkan Nilai Lajur Menggunakan Groupby
Dalam Python, adalah mungkin untuk memisahkan bingkai data Pandas kepada berbilang bingkai data berdasarkan nilai dalam lajur tertentu. Teknik ini biasanya digunakan untuk mencipta bingkai data berasingan bagi setiap kategori atau kumpulan unik dalam lajur.
Sebagai contoh, pertimbangkan bingkai data berikut dengan lajur bernama "ZZ":
df = N0_YLDF ZZ MAT 0 6.286333 2 11.669069 1 6.317000 6 11.669069 2 6.324889 6 11.516454 3 6.320667 5 11.516454 4 6.325556 5 11.516454 5 6.359000 6 11.516454 6 6.359000 6 11.516454 7 6.361111 7 11.516454 8 6.360778 7 11.516454 9 6.361111 6 11.516454
The matlamatnya adalah untuk membahagikan bingkai data ini kepada empat bingkai data baharu, dengan setiap bingkai data mengandungi baris yang "ZZ" mempunyai nilai khusus: 2, 5, 6 dan 7. Untuk mencapai matlamat ini, kita boleh memanfaatkan fungsi "groupby" Pandas.
gb = df.groupby('ZZ') [gb.get_group(x) for x in gb.groups]
Fungsi "groupby" mencipta objek GroupBy, yang mengumpulkan baris bingkai data berdasarkan nilai dalam lajur yang ditentukan ("ZZ" dalam kes ini). Setiap nilai unik "ZZ" menjadi kumpulan dalam objek GroupBy.
Barisan berikutnya menggunakan pemahaman senarai untuk mengulangi kumpulan dan mendapatkan semula setiap kumpulan sebagai bingkai data yang berasingan. Kaedah "get_group" dipanggil dengan nama setiap kumpulan (iaitu, nilai unik "ZZ") untuk mengekstrak bingkai data yang sepadan.
Hasilnya, kod ini menghasilkan empat bingkai data baharu, setiap satu mewakili subset baris bingkai data asal yang berkongsi nilai yang sama dalam lajur "ZZ".
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Pandas DataFrame kepada Berbilang DataFrames Berdasarkan Nilai Lajur Menggunakan Groupby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!