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

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

執行 Pandas Goupby 和百分比增加/減少

執行 Pandas Goupby 和百分比增加/減少

30秒到達戰場 2022-10-06 17:01:56
我有如下數據框:           Date      Symbol      Quantity        Volume0    07-04-2020         ACC       1579268        5540471    08-04-2020         ACC       2153627        5868862    09-04-2020         ACC       2658885       11288913    07-04-2020    ADANIENT       2463525        4089034    08-04-2020    ADANIENT       3237290        2554805    09-04-2020    ADANIENT       2359528        335061我想在“符號”上執行 groupby 并計算從第一個日期開始的百分比增加或減少,例如(在我的示例中為 07-04-2020)后續行。我想要如下結果:    Date         Symbol    Quantity  Volume  PctCH_Qty    PctCH_Vol0   07-04-2020      ACC     1579268  554047          0           0   1   08-04-2020      ACC     2153627  586886      36.37        5.93 2   09-04-2020      ACC     2658885  1128891     68.36      103.75 3   07-04-2020  ADANIENT    2463525  408903          0           0   4   08-04-2020  ADANIENT    3237290  255480      31.41      -37.52 5   09-04-2020  ADANIENT    2359528  335061      -4.22      -18.06 
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

想法是將每組的第一個值除以GroupBy.transformand first、減法1、multiple100和最后一輪:

cols = ['Quantity','Volume']

df[['PctCH_Qty','PctCH_Vol']] = (df[cols].div(df.groupby('Symbol')[cols]

                                         .transform('first'), axis=0)

                                         .sub(1)

                                         .mul(100)

                                         .round(2))

print (df)

         Date    Symbol  Quantity   Volume  PctCH_Qty  PctCH_Vol

0  07-04-2020       ACC   1579268   554047       0.00       0.00

1  08-04-2020       ACC   2153627   586886      36.37       5.93

2  09-04-2020       ACC   2658885  1128891      68.36     103.75

3  07-04-2020  ADANIENT   2463525   408903       0.00       0.00

4  08-04-2020  ADANIENT   3237290   255480      31.41     -37.52

5  09-04-2020  ADANIENT   2359528   335061      -4.22     -18.06


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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