我正在嘗試重命名 groupBy 函式中的新聚合列名。
我的代碼:
groupByColumns = ['clientId', 'state', 'branchId']
aggColumn = 'amount'
aggOperation = sum
comNewColName = totalSalesDone
result = df.groupby(groupByColumns)[aggColumn].agg(aggOperation)
這在這里它作業得很好。現在我正在嘗試重命名聚合的新列
result = df.groupby(groupByColumns, as_index=False).agg(comNewColName=(aggColumn,aggOperation))
但是我得到了列名 comNewColName 但我需要得到 totalSalesDone。
請問我怎么能得到那個。
uj5u.com熱心網友回復:
我只想擺脫“comNewColName = totalSalesDone”
result['totalSalesDone'] = df.groupby(groupByColumns, as_index=False).agg(aggColumn,aggOperation))
uj5u.com熱心網友回復:
您正在傳遞sum,但應該'sum'(作為字串)在一個名為 aggregation 的分組中傳遞。那應該可以解決您的問題。所以我相信改變:
aggOperation = sum
到:
aggOperation = 'sum'
并做:
result = df.groupby(groupByColumns, as_index=False).agg(comNewColName=(aggColumn,aggOperation))
應該管用。
uj5u.com熱心網友回復:
您可以在命名聚合中解壓縮字典
這是一個例子:
from seaborn import load_dataset
df_tips = load_dataset('tips')
aggcol = 'total_bill'
newColumnSum='Sum_Total_Bill'
aggop = 'sum'
df_tips.groupby('sex')[[aggcol]].agg(**{f'{newColumnSum}':(f'{aggcol}',f'{aggop}')})
輸出:
Sum_Total_Bill
sex
Male 3256.82
Female 1570.95
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424761.html
上一篇:按元組中的值對資料幀進行排序
