Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggunakan Fungsi Pengagregatan Berbilang pada Lajur yang Sama Menggunakan panda GroupBy?

Bagaimanakah Saya Boleh Menggunakan Fungsi Pengagregatan Berbilang pada Lajur yang Sama Menggunakan panda GroupBy?

Patricia Arquette
Lepaskan: 2024-12-08 11:42:12
asal
459 orang telah melayarinya

How Can I Apply Multiple Aggregation Functions to the Same Column Using pandas 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})
Salin selepas log masuk

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]})
Salin selepas log masuk

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}})
Salin selepas log masuk

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))
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan