Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Berbilang Fungsi pada Berbilang Lajur dalam Kumpulan PandasBy 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()})
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)
Penghadan dan Alternatif
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!