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))
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}})
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]})
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!