我是 python 新手,所以可能是一個愚蠢而簡單的問題。
我有兩個資料框,第一個資料框有一個百分比列,需要應用于 Dataframe2 中的 A、B、C 列。有什么建議么 ?
資料框 1
地區百分比
南部 34.4%
北 27.0%
西部 21.2%
東部 14.8%
其他 2.6%
資料框 2 周結束上限預測值下限狀態預測日期
22/05/2022 2112.2 2316.4 2525.9 加利福尼亞州 30/05/2022
2022 年 5 月 29 日 2123.8 2331.1 2523.4 加利福尼亞州 2022 年 5 月 30 日
2022 年 5 月 6 日 2136.5 2340.5 2553.8 加利福尼亞州 30/05/2022
2022 年 6 月 12 日 2148.466667 2353.433333 2562.266667 2022 年 5 月 30 日
2022 年 6 月 19 日 2160.616667 2365.483333 2576.216667 加利福尼亞州 30/05/2022
2022 年 6 月 26 日 2172.766667 2377.533333 2590.166667 加利福尼亞州 30/05/2022
所需的資料框
地區 周結束 上限 預測值 下限 狀態 預測日期
南 22/05/2022 726.6 796.8 868.9 CA 30/05/2022
北 22/05/2022 570.3 625.4 682.0 加利福尼亞州 30/05/2022
西 22/05/2022 447.8 491.1 535.5 加利福尼亞州 30/05/2022
東部 22/05/2022 312.6 342.8 373.8 CA 30/05/2022
其他 22/05/2022 54.9 60.2 65.7 CA 30/05/2022
南 29/05/2022 730.6 801.9 868.0 CA 30/05/2022
北 29/05/2022 573.4 629.4 681.3 CA 30/05/2022
西 29/05/2022 450.2 494.2 535.0 加利福尼亞州 30/05/2022
東部 29/05/2022 314.3 345.0 373.5 CA 30/05/2022
其他 29/05/2022 55.2 60.6 65.6 CA 30/05/2022
南 5/06/2022 735.0 805.1 878.5 CA 30/05/2022
北 5/06/2022 576.9 631.9 689.5 加利福尼亞州 30/05/2022
西 5/06/2022 452.9 496.2 541.4 加利福尼亞州 30/05/2022
東部 5/06/2022 316.2 346.4 378.0 CA 30/05/2022
其他 5/06/2022 55.5 60.9 66.4 CA 30/05/2022
請在下面找到excel影像,希望上面帶有excel影像的資料更有意義。如果他們允許我,我很想附上 excel。提前感謝任何幫助。
在此處輸入影像描述
uj5u.com熱心網友回復:
好吧,讓我們這樣做;)
1.因為我們沒有公共鍵(column),所以不能合并它們,所以訣竅是讓兩個DF大小相同。
1.1將 df1 設為 30 行,重復相同的行塊:
df1 = pd.concat([df1]*6, ignore_index=True)
1.2index到此時重復 df2 到 30 行:
df2 = df2.loc[df2.index.repeat(5)].reset_index(drop=True)
2.現在我們有 2 個大小相同(長度)的 dfs,我們可以concat():
df3 = pd.concat([df1, df2], axis=1)
3.現在是時候將 3 列乘以“百分比”(我洗掉了“%”以使其更容易)一:
df3[["Upper Limit", "Forecasted value", 'Lower limit']] = (df3[["Upper Limit", "Forecasted value", 'Lower limit']].multiply(df3["Percentage"], axis="index")/100).round(1)
df3
如果它解決了您的問題,請接受?這個答案:)
否則在評論中提及我(使用@),同時告訴我出了什么問題;)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/484909.html
上一篇:如何隨機排列元素?
