Мне нужно 30-минутное распределение из общего ежедневного примера
всего вторника = 7290
df1=df1.groupby('SHOP')["SALES"].resample("30min").sum()
, и я получаю
DATE SHOP SALES
0 2020-05-26 00:00:00 1020.0 7290.0
1 2020-05-26 00:30:00 1020.0 7290.0
2 2020-05-26 01:00:00 1020.0 7290.0
3 2020-05-26 01:30:00 1020.0 7290.0
4 2020-05-26 02:00:00 1020.0 7290.0
5 2020-05-26 02:30:00 1020.0 7290.0
...
47 2020-05-26 23:30:00 1020.0 7290.0
тогда у меня есть вероятное распределение в тот день вторника (по историческим данным) в%
DISTRIBUTION
2640 0.0
2641 0.0
2642 0.0
2643 0.0
2644 0.0
2645 0.0
2646 0.0
2647 0.0
2648 0.0
2649 0.0
2650 0.0
2651 0.0
2652 0.0017388885024692217
2653 0.0
2654 0.0
2655 0.0
2656 1.5250052166655075
2657 2.330110593308757
2658 3.0413159908186693
2659 3.7525213883285806
2660 4.315921263128608
2661 5.039298880155805
2662 5.239271057939765
2663 5.726159838631148
2664 5.597482089448425
2665 4.91583779648049
2666 4.948876678027405
2667 4.5437156569520765
2668 4.161160186408848
2669 3.980315782152049
2670 3.8238158169298186
2671 3.3525770327606597
2672 3.1839048480211454
2673 3.369965917785352
2674 3.1891215135285527
2675 3.5264658830075817
2676 3.4012659108297982
2677 3.6568825206927733
2678 3.2065103985532453
2679 3.1352159699520072
2680 2.3318494818112265
2681 1.9266884607358976
2682 1.5023996661334076
2683 1.1267997496000557
2684 0.14780552270988384
2685 0.0
2686 0.0
2687 0.0
Я попытался объединить df1 (общие продажи) с df2 (распределение и применить умножьте
f1=pd.merge(df1,df2, how="left", on=[...])
f1["SALES"]=f1["SALES"]/100
f1["SALES 30 MINUTES"]=f1["SALES"]*f1["DISTRIBUTION"]
, но когда я суммирую общие дневные продажи по новым «продажам за 30 минут», я получаю 7304
, как я могу это сделать и получить правильное распределение и общая сумма (7290)? или есть другой способ (например, симуляция)?
спасибо !!!