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

Susan Sarandon
Lepaskan: 2024-11-11 10:20:03
asal
358 orang telah melayarinya

 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()}))
    Salin selepas log masuk

    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())
    Salin selepas log masuk

    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!

  • sumber:php.cn
    Kenyataan Laman Web ini
    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
    Artikel terbaru oleh pengarang
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan