Ikhtisar:
Dalam Panda , kaedah groupby() menyediakan dua pilihan untuk memanipulasi data yang dikumpulkan mengikut lajur tertentu: apply() dan transform(). Kaedah ini berbeza dari segi input, output dan gelagatnya.
Perbezaan Utama:
Feature | Apply | Transform |
---|---|---|
Input: | Passes DataFrame containing all columns for each group | Passes individual Series for each column in each group |
Output: | Can return scalars, Series, DataFrames, or other objects | Must return a sequence (Series, array, or list) with the same length as the group |
Behavior: | Operates on the entire DataFrame within each group | Operates on a single column at a time |
Apabila anda perlu menggunakan fungsi tersuai pada keseluruhan DataFrame dalam setiap kumpulan. Ini membenarkan pemprosesan mengikut baris yang kompleks dan mengembalikan DataFrame dengan bilangan baris yang sama dengan input.
df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))
Contoh:
Apabila anda perlu menggunakan fungsi tersuai berdasarkan lajur demi lajur dalam setiap kumpulan.Ini membolehkan anda memanipulasi lajur tertentu tanpa menjejaskan keseluruhan DataFrame.
df.groupby('State').transform(lambda x: x - x.mean())
Contoh:
Atas ialah kandungan terperinci Apply vs. Transform: Bilakah Anda Harus Menggunakan Yang Mana dalam Pandas Groupby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!