Apabila menggunakan groupby pada DataFrame, gunakan dan ubah mempunyai tersendiri ciri:
Input:
Output:
Pertimbangkan fungsi tersuai tolak_two untuk menolak lajur 'a' daripada 'b':
def subtract_two(x): return x['a'] - x['b']
1. Mohon:
Dengan menggunakan apply, kita boleh mengira perbezaan 'a' dan 'b' untuk setiap kumpulan, mengembalikan Siri:
df.groupby('A').apply(subtract_two)
2. Transform:
Percubaan untuk menggunakan transform akan mengakibatkan KeyError, kerana transform menjangkakan urutan yang sama panjangnya dengan kumpulan:
df.groupby('A').transform(subtract_two) # KeyError: 'a'
Untuk menggunakan transformasi bagi penolakan, kami boleh mengembalikan skalar daripada fungsi tersuai kami dan menggunakannya pada semua baris dalam kumpulan:
def subtract_two_scalar(x): return (x['a'] - x['b']).mean() df.groupby('A').transform(subtract_two_scalar)
Ini mengembalikan Siri dengan perbezaan min bagi setiap kumpulan.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Menggunakan `apply` dan `transform` untuk Tolak Lajur dan Pengiraan Min dengan Groupby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!