首頁  >  文章  >  後端開發  >  應用與轉換:什麼時候應該在 Pandas Groupby 中使用 Which?

應用與轉換:什麼時候應該在 Pandas Groupby 中使用 Which?

Susan Sarandon
Susan Sarandon原創
2024-11-11 10:20:03359瀏覽

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

該用Apply還是Transform?

概述:

在Pandas 中,groupby() 方法提供了兩個用於操作按特定列分組的資料的選項:apply () 和transform()。這些方法在輸入、輸出和行為方面有所不同。

主要差異:

應用
功能變換
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
輸入:

傳遞包含每個組的所有列d> 為每個群組中的每個欄位傳遞單獨的系列
輸出: 可以傳回標量、Series、DataFrames或其他物件 必須傳回與群組長度相同的序列(Series、陣列或清單)
行為:
    對每個群組內的整個DataFrame 進行操作 一次對單一欄位進行操作
  • 何時使用Apply:
  • 當您需要將自訂函數套用到每個群組中的整個 DataFrame 時。 這允許複雜的逐行處理,並傳回與輸入具有相同行數的 DataFrame。

    df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))

    範例:

    • 何時使用轉換:

    何時使用轉換:

    df.groupby('State').transform(lambda x: x - x.mean())
    當您需要在當您每個組中逐列應用自訂函數時。

    這允許您操作特定列不影響整個 DataFrame。

    • 範例:
    • 附加說明:
    附加說明:附加說明:轉換方法必須回傳與群組長度相同的序列,否則將引發錯誤。 從轉換函數傳回單一標量將導致該標量應用於群組中的每一行。 有時,在自訂函數中列印或顯示傳遞的物件有助於了解您正在使用的內容。

    以上是應用與轉換:什麼時候應該在 Pandas Groupby 中使用 Which?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

  • 陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn