Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggunakan Berbilang Fungsi pada Berbilang Lajur dalam Kumpulan PandasBy DataFrame?

Bagaimanakah Saya Boleh Menggunakan Berbilang Fungsi pada Berbilang Lajur dalam Kumpulan PandasBy DataFrame?

Linda Hamilton
Lepaskan: 2024-12-20 03:49:09
asal
637 orang telah melayarinya

How Can I Apply Multiple Functions to Multiple Columns in a Pandas GroupBy DataFrame?

Memohon Berbilang Fungsi pada Berbilang Lajur Berkumpulan

Apabila bekerja dengan data terkumpul, kaedah kumpulan mengikut dalam Pandas membenarkan anda menggunakan berbilang fungsi serentak menggunakan sebuah kamus. Walau bagaimanapun, pendekatan ini hanya berfungsi untuk Siri kumpulan mengikut objek.

Jika anda mempunyai kumpulan mengikut DataFrame dan ingin menggunakan fungsi pada berbilang lajur, anda menghadapi cabaran untuk menentukan nama lajur sebagai kunci dalam kamus. Selain itu, fungsi tertentu mungkin bergantung pada lajur lain, menjadikannya rumit untuk menggunakan kaedah agg.

Berikut ialah pilihan yang tersedia:

Menggunakan Kaedah apply

Kaedah apply secara tersirat menghantar DataFrame kepada fungsi yang digunakan. Ini membolehkan anda bekerja dengan berbilang lajur sekaligus. Gunakan kamus untuk memetakan nama lajur kepada fungsi pengagregatan:

df.groupby('group').apply({'a': ['sum', 'max'], 'b': 'mean', 'c': 'sum', 'd': lambda x: x.max() - x.min()})
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan fungsi tersuai untuk mengembalikan Siri semua pengagregatan:

def f(x):
    return pd.Series({'a_sum': x['a'].sum(), 'a_max': x['a'].max(), 'b_mean': x['b'].mean(), 'c_d_prodsum': (x['c'] * x['d']).sum()})

df.groupby('group').apply(f)
Salin selepas log masuk

Penghadan dan Alternatif

  • Kaedah guna secara berulang menggunakan fungsi untuk setiap kumpulan, yang boleh menjadi perlahan untuk set data yang besar.
  • Jika anda memerlukan fungsi pengagregatan tersuai yang bukan fungsi Pandas terbina dalam, anda mungkin perlu menggunakan kaedah agg dengan lambda tersuai atau menggunakan satu siri operasi pada DataFrame berkumpulan.

Kesimpulannya, sementara Pandas tidak mempunyai cara terbina dalam untuk menggunakan berbilang fungsi pada lajur tertentu dalam kumpulan mengikut DataFrame, kaedah guna menawarkan penyelesaian yang fleksibel dan boleh disesuaikan untuk kebanyakan senario. Untuk pengagregatan kompleks yang melibatkan berbilang lajur dan kebergantungan, anda mungkin perlu meneroka pendekatan alternatif atau lelaran melalui objek berkumpulan secara manual.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Berbilang Fungsi pada Berbilang Lajur dalam Kumpulan PandasBy DataFrame?. 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