Смоделировать получасовое / часовое распределение, предварительно определенное из общего количества - PullRequest
0 голосов
/ 26 мая 2020

Мне нужно 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)? или есть другой способ (например, симуляция)?

спасибо !!!

...