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

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

計算 n 行總和的百分比

計算 n 行總和的百分比

qq_遁去的一_1 2023-08-03 17:12:28
我有一個如下所示的 df 。它包含每月 1-12 月的費用。我想創建一個新列,其中包含每 12 行(第 1-12 個月)的成本總和的百分比。因此,它將獲取 12 行的總和并計算成本中值的百分比。我真的不知道從哪里開始。謝謝你的幫助!輸入:| Name     | Month  | Costs ||----------|--------|-------|| Painting | 1      | 1000  || Painting | 2      | 0     || Painting | 3      | 0     || Painting | 4      | 0     || Painting | 5      | 1000  || Painting | 6      | 0     || Painting | 7      | 0     || Painting | 8      | 0     || Painting | 9      | 1000  || Painting | 10     | 0     || Painting | 11     | 0     || Painting | 12     | 1000  || Repair   | 1      | 0     || Repair   | 2      | 0     || Repair   | 3      | 0     || Repair   | 4      | 2500  || Repair   | 5      | 0     || Repair   | 6      | 0     || Repair   | 7      | 5000  || Repair   | 8      | 0     || Repair   | 9      | 0     || Repair   | 10     | 2500  || Repair   | 11     | 0     || Repair   | 12     | 0     |想要的輸出:| Name     | Period | Costs | Percentages ||----------|--------|-------|-------------|| Painting | 1      | 1000  | 25%         || Painting | 2      | 0     | 0%          || Painting | 3      | 0     | 0%          || Painting | 4      | 0     | 0%          || Painting | 5      | 1000  | 25%         || Painting | 6      | 0     | 0%          || Painting | 7      | 0     | 0%          || Painting | 8      | 0     | 0%          || Painting | 9      | 1000  | 25%         || Painting | 10     | 0     | 0%          || Painting | 11     | 0     | 0%          || Painting | 12     | 1000  | 25%         || Repair   | 1      | 0     | 0%          || Repair   | 2      | 0     | 0%          || Repair   | 3      | 0     | 0%          || Repair   | 4      | 2500  | 25%         || Repair   | 5      | 0     | 0%          || Repair   | 6      | 0     | 0%          || Repair   | 7      | 5000  | 50%         || Repair   | 8      | 0     | 0%          || Repair   | 9      | 0     | 0%          || Repair   | 10     | 2500  | 25%         || Repair   | 11     | 0     | 0%          || Repair   | 12     | 0     | 0%          |
查看完整描述

1 回答

?
POPMUISE

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

嘗試transform


df['PCT']=df['Costs']/df.groupby('Name')['Costs'].transform('sum')

df

Out[98]: 

        Name  Month  Costs   PCT

0   Painting      1   1000  0.25

1   Painting      2      0  0.00

2   Painting      3      0  0.00

3   Painting      4      0  0.00

4   Painting      5   1000  0.25

5   Painting      6      0  0.00

6   Painting      7      0  0.00

7   Painting      8      0  0.00

8   Painting      9   1000  0.25

9   Painting     10      0  0.00

10  Painting     11      0  0.00

11  Painting     12   1000  0.25

12    Repair      1      0  0.00

13    Repair      2      0  0.00

14    Repair      3      0  0.00

15    Repair      4   2500  0.25

16    Repair      5      0  0.00

17    Repair      6      0  0.00

18    Repair      7   5000  0.50

19    Repair      8      0  0.00

20    Repair      9      0  0.00

21    Repair     10   2500  0.25

22    Repair     11      0  0.00

23    Repair     12      0  0.00


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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