Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Fungsi Pengagregatan Berbilang pada Lajur yang Sama Menggunakan panda GroupBy?
Mengagregatkan dengan Berbilang Fungsi pada Lajur Yang Sama Menggunakan GroupBy
Dalam perpustakaan panda Python, fungsi GroupBy.agg() menyediakan cara yang mudah untuk menggunakan fungsi pengagregatan pada data terkumpul. Walau bagaimanapun, perlu diingat bahawa menggunakan berbilang fungsi pada lajur yang sama boleh menjadi rumit.
Pada mulanya, ia mungkin kelihatan intuitif untuk menggunakan sintaks berikut:
df.groupby("dummy").agg({"returns": f1, "returns": f2})
Walau bagaimanapun, pendekatan ini gagal disebabkan untuk menduplikasi kunci yang tidak dibenarkan dalam Python. Sebaliknya, panda menawarkan beberapa kaedah untuk melakukan pengagregatan sedemikian:
Kaedah 1: Senarai Fungsi
Fungsi boleh diluluskan sebagai senarai:
df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
Kaedah 2: Kamus Fungsi
Fungsi boleh dihantar sebagai kamus dengan kekunci mewakili nama lajur dan nilai yang mewakili senarai fungsi:
df.groupby("dummy").agg({"returns": {"Mean": np.mean, "Sum": np.sum}})
Kaedah 3: Kemas Kini Terkini (seperti 2022-06-20)
Dalam versi terbaru panda, sintaks berikut diutamakan:
df.groupby('dummy').agg( Mean=('returns', np.mean), Sum=('returns', np.sum))
Sintaks ini bukan sahaja berfungsi dengan lancar tetapi juga memberikan kejelasan dan fleksibiliti yang lebih besar dalam menentukan fungsi pengagregatan dan nama lajur.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi Pengagregatan Berbilang pada Lajur yang Sama Menggunakan panda GroupBy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!