首頁 > 後端開發 > Python教學 > 在 Pandas DataFrame 中減去兩列併計算平均值時,「apply」和「transform」有何不同?

在 Pandas DataFrame 中減去兩列併計算平均值時,「apply」和「transform」有何不同?

Barbara Streisand
發布: 2024-11-26 20:28:11
原創
730 人瀏覽過

How do `apply` and `transform` differ when subtracting two columns and calculating the mean in a Pandas DataFrame?

減去兩列並使用apply 與transform 取得平均值

考慮下列資料框:

 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],<pre class="brush:php;toolbar:false">               'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
               'C': np.random.randn(8), 'D': np.random.randn(8)})

 A      B         C         D
登入後複製

0 foo 一 0.162003 0.087469
1 酒吧一 -1.156319 -1.526272 f🎜>1 酒吧一 -1.156319 -1.526272 f. -1.666304
3 小節三 -2.026673 -0.322057
4 富二 0.411452 -0.954371
5 小節二 0.765878 -0.095960.095> 0.678091
7 foo 三 -1.789842 -1.130922



套用與轉換

套用與轉換

df.groupby('A').apply(lambda x: (x['C'] - x['D']))
登入後複製
以下指令將 olambda函數應用於每個群組在dataframe:

這將傳回一個與原始資料框形狀相同的資料框,其中每個單元格包含應用於對應群組的 lambda函數的結果。的平均值對應組的C 列和 D列之間。 >

apply 將整個群組作為DataFrame 隱式傳遞給lambda函數。只能用於執行對各個列進行計算。傳回一個值。或任何其他非標量值,則會引發錯誤。它不是單一
df.groupby('A').transform(lambda x: (x['C'] - x['D']).mean())
登入後複製

結論

apply和transform是兩個強大的方法,可用於對資料幀執行groupby操作。為了有效地使用它們,了解這兩種方法之間的差異非常重要。

以上是在 Pandas DataFrame 中減去兩列併計算平均值時,「apply」和「transform」有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板