Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memohon Berbilang Agregasi pada Lajur yang Sama dalam Panda?

Bagaimanakah Saya Boleh Memohon Berbilang Agregasi pada Lajur yang Sama dalam Panda?

Mary-Kate Olsen
Lepaskan: 2024-12-23 03:07:26
asal
226 orang telah melayarinya

How Can I Apply Multiple Aggregations to the Same Column in Pandas?

Menggunakan Berbilang Pengagregatan pada Lajur yang Sama dalam Panda

Dalam panda, GroupBy.agg() menyediakan cara yang mudah untuk melaksanakan berbilang fungsi pada data berkumpulan. Walau bagaimanapun, menggunakan fungsi yang berbeza pada lajur yang sama menggunakan agg() nampaknya mencabar.

Secara tradisinya, pendekatan sintaksis yang tidak betul tetapi diingini ialah menghantar kunci pendua kepada hujah kamus agg(), yang bukan dibenarkan dalam Python.

Untuk menangani perkara ini, panda menawarkan beberapa pilihan:

Pilihan 1: Senarai Tuple

Sehingga 2022-06-20, kaedah pilihan adalah dengan menyediakan senarai tupel [(lajur, fungsi)] kepada agg(), di mana setiap tupel mewakili pengagregatan untuk dilakukan pada lajur yang ditentukan.

df.groupby('dummy').agg(
    Mean=('returns', np.mean),
    Sum=('returns', np.sum))
Salin selepas log masuk

Pilihan 2: Bersarang Kamus

Pendekatan lain ialah menggunakan kamus bersarang, dengan kunci luar ialah lajur dan nilai dalam ialah fungsi yang akan digunakan.

df.groupby('dummy').agg({'returns':
                              {'Mean': np.mean, 'Sum': np.sum}})
Salin selepas log masuk

Pilihan 3: Senarai Fungsi

Untuk versi sejarah panda, pilihan alternatif adalah untuk lulus fungsi sebagai senarai dalam argumen kamus agg().

df.groupby('dummy').agg({'returns': [np.mean, np.sum]})
Salin selepas log masuk

Dengan menggunakan pilihan ini, anda boleh melakukan berbilang pengagregatan pada lajur yang sama tanpa memerlukan fungsi tambahan atau memanggil agg() beberapa kali secara eksplisit.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memohon Berbilang Agregasi pada Lajur yang Sama dalam Panda?. 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