Rumah >pembangunan bahagian belakang >Tutorial Python >Bila hendak Menggunakan Pandas apply vs transform untuk Operasi Data Berkumpulan?
Dalam Panda, kedua-dua aplikasi dan transformasi boleh digunakan untuk melaksanakan operasi pada data terkumpul. Walau bagaimanapun, terdapat beberapa perbezaan utama antara kedua-dua kaedah.
Jenis Input
Jenis Output
Transformasi
Contoh
Pertimbangkan DataFrame berikut:
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': randn(8), 'D': randn(8)})
Untuk menolak lajur C daripada lajur D dalam setiap kumpulan menggunakan gunakan:
df.groupby('A').apply(lambda x: (x['C'] - x['D']))
Untuk menolak lajur C daripada lajur D dalam setiap kumpulan menggunakan penjelmaan:
df.groupby('A').transform(lambda x: (x['C'] - x['D']).mean())
Perhatikan bahawa fungsi lambda yang diluluskan untuk mengubah mengembalikan min perbezaan antara C dan D, menghasilkan lajur yang diubah dengan bentuk yang sama seperti DataFrame asal.
Bila menggunakan apply vs transform:
Atas ialah kandungan terperinci Bila hendak Menggunakan Pandas apply vs transform untuk Operasi Data Berkumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!