假設我有以下代碼
import pandas as pd
def calc(df, var1, var2) :
return (df[var1] * df[var2]).sum()
Dat = pd.DataFrame({'product_name': ['laptop', 'printer', 'printer', 'printer', 'laptop', 'printer'], 'price': [1200, 150, 1200, 150, 1200, 150], 'price1': [1200, 150, 1200, 150, 1200, 150]})
Dat.groupby(['product_name']).apply(calc, 'price', 'price1')
雖然這很好,但我想知道是否可以calc直接在apply()最后一行的方法中定義函式。我正在尋找一個通用規則,我可以為任何具有任意數量引數的用戶定義函式執行此操作
任何指標將不勝感激。
uj5u.com熱心網友回復:
您可以使用lambda函式:https ://www.w3schools.com/python/python_lambda.asp
Dat.groupby(['product_name']).apply(lambda df: (df['price'] * df['price1']).sum())
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438692.html
標籤:python-3.x 熊猫
上一篇:如何在FastAPI中選擇UploadFile引數的磁盤位置?
下一篇:用平均值填充空值和下一個值
