Посмотрите таблицу цен экстраполяции на будущее - PullRequest
1 голос
/ 10 февраля 2020

У меня есть проблема, которая требует поиска цен на продукты с небольшим поворотом.

Таблица проданных продуктов

Date    Prod_1  Prod_2  Prod_3
5/1/2020    0   0   0
6/1/2020    0   0   0
7/1/2020    0   0   0
8/1/2020    100 1,000   50
9/1/2020    120 1,100   100
10/1/2020   140 1,200   150
11/1/2020   160 1,300   200
12/1/2020   180 1,400   250
1/1/2021    200 1,500   300
2/1/2021    220 1,600   350
3/1/2021    240 1,700   400
4/1/2021    260 1,800   450
5/1/2021    280 1,900   500
6/1/2021    300 2,000   550

Таблица цен выглядит следующим образом

Date    Prod_1  Prod_2  Prod_3
8/1/2020    50  10  2.00
9/1/2020    55  11  2.50
10/1/2020   56  12  2.65
11/1/2020   58  13  2.70
12/1/2020   60  14  2.80
1/1/2021    10  10  1.00

Я хочу вычислить что-то, что будет искать цену для каждого продукта в зависимости от даты. Если данные о цене не содержат дату, она просто использует последнюю цену в таблице. Я попытался индексировать по дате и переиндексировать для умножения, но, похоже, не могу сделать это правильно.

Окончательный результат должен быть примерно таким:

Date    Rev_Prod_1  Rev_Prod_2  Rev_Prod_3
5/1/2020    0   0   0
6/1/2020    0   0   0
7/1/2020    0   0   0
8/1/2020    5,000   10,000  100
9/1/2020    6,600   12,100  250
10/1/2020   7,840   14,400  398
11/1/2020   9,280   16,900  540
12/1/2020   10,800  19,600  700
1/1/2021    2,000   15,000  300
2/1/2021    2,200   15,000  350
3/1/2021    2,400   16,000  400
4/1/2021    2,600   17,000  450
5/1/2021    2,800   18,000  500
6/1/2021    3,000   19,000  550

, что я могу сделать до сих пор присоединитесь к таблицам по датам

prod_data = pd.read_csv('../Product_sold.csv')
prod_data.set_index('Date', inplace=True)
price_data = pd.read_csv('../Product_cost.csv')
price_data.set_index('Date', inplace=True)
prod_data_comb = prod_data.join(price_data)

, что даст результат

           Prod_1 Prod_2  Prod_3  Prod_1_Pr  Prod_2_Pr  Prod_3_Pr
Date                                                             
5/1/2020        0      0       0        NaN        NaN        NaN
6/1/2020        0      0       0        NaN        NaN        NaN
7/1/2020        0      0       0        NaN        NaN        NaN
8/1/2020      100  1,000      50       50.0       10.0       2.00
9/1/2020      120  1,100     100       55.0       11.0       2.50
10/1/2020     140  1,200     150       56.0       12.0       2.65
11/1/2020     160  1,300     200       58.0       13.0       2.70
12/1/2020     180  1,400     250       60.0       14.0       2.80
1/1/2021      200  1,500     300       10.0       10.0       1.00
2/1/2021      220  1,600     350        NaN        NaN        NaN
3/1/2021      240  1,700     400        NaN        NaN        NaN
4/1/2021      260  1,800     450        NaN        NaN        NaN
5/1/2021      280  1,900     500        NaN        NaN        NaN
6/1/2021      300  2,000     550        NaN        NaN        NaN

, из которого я могу умножиться, но я хочу, чтобы цены после данных 1/1/2021 были такими же, как 1 / 1/2021 для умножения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...