Rumah >pembangunan bahagian belakang >Tutorial Python >Apply vs. Transform: Bilakah Anda Harus Menggunakan Yang Mana dalam Pandas Groupby?

Apply vs. Transform: Bilakah Anda Harus Menggunakan Yang Mana dalam Pandas Groupby?

Susan Sarandon
Susan Sarandonasal
2024-11-11 10:20:03432semak imbas

 Apply vs. Transform: When Should You Use Which in Pandas Groupby?

Adakah Anda Perlu Menggunakan Apply atau Transform?

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:

CiriApplyTransform
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
Input:

Melalui DataFrame yang mengandungi semua lajur untuk setiap kumpulan Melalui Siri individu untuk setiap lajur dalam setiap kumpulan Output: Boleh mengembalikan skalar, Siri, DataFrames atau objek lain Mesti mengembalikan jujukan (Siri, tatasusunan atau senarai) dengan panjang yang sama dengan kumpulan Kelakuan:
    Beroperasi pada keseluruhan DataFrame dalam setiap kumpulan Beroperasi pada satu lajur pada satu masa
  • Bila Gunakan Apply:
  • 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:

    • Bila Perlu Menggunakan Transform:

    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:

    • Nota Tambahan:
    • Kaedah ubah mesti mengembalikan urutan yang sama panjang dengan kumpulan, atau ralat akan dinaikkan.
    Mengembalikan skalar tunggal daripada fungsi transformasi akan menyebabkan skalar itu digunakan pada setiap baris dalam kumpulan.Kadangkala, adalah berguna untuk mencetak atau memaparkan objek yang diluluskan dalam fungsi tersuai anda untuk memahami perkara yang sedang anda gunakan.

    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!

  • Kenyataan:
    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