亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas groupby 自定義聚合計算

Pandas groupby 自定義聚合計算

翻過高山走不出你 2023-10-18 16:36:44
我有以下country wise orders data過去兩周的數據框。我想計算與上周相比按國家/地區、開始日期和結束日期分組的食品訂單的百分比變化(增加或減少) 。Formula = (this_week_orders*100)/(last_week_orders) - 100對于上面的 df,我想得到最終的數據框如下正如我們所看到的,Russia had a decrease in order count of 33%與India had an increase of 50%上周相比請建議如何編寫自定義聚合函數,因為我只熟悉標準函數,如 sum() 、 count() 等......
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

df = pd.DataFrame({'start_date':['2020-09-21','2020-09-21','2020-09-28', '2020-09-28'], 

                   'end_date':['2020-09-27', '2020-09-27', '2020-10-04', '2020-10-04'],

                  'Country':['Russia', 'India','Russia','India'], 

                   'orders':[150,80,100,120]})

df['start_date'] = pd.to_datetime(df['start_date'])


df.sort_values(by='start_date', inplace=True)


df['% Change'] = df.groupby('Country')['orders'].pct_change()

輸出


    start_date    end_date  Country orders  % Change

0   2020-09-21  2020-09-27  Russia  150          NaN

1   2020-09-21  2020-09-27  India   80           NaN

2   2020-09-28  2020-10-04  Russia  100    -0.333333

3   2020-09-28  2020-10-04  India   120     0.500000


查看完整回答
反對 回復 2023-10-18
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號