Python 查询表未来价格外推
我有一个问题,需要查找稍微扭曲的产品价格 产品销售表Python 查询表未来价格外推,python,pandas,tiling,Python,Pandas,Tiling,我有一个问题,需要查找稍微扭曲的产品价格 产品销售表 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
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
我想计算一些东西,根据日期查找每个产品的价格。如果价格数据不包含日期,它只使用表中的最后一个价格。我试过对日期进行索引,并重新索引以进行乘法运算,但似乎做得不对
最终输出应该是这样的
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后的价格相同 预期的输出表是什么?看一看
merge\u asof
请给出您尝试的结果。刚才添加了我目前为止的代码。prod\u data\u comb=pd.merge\u asof(prod\u data,price\u data,on='Date')。这个成功了。谢谢您的预期输出表是什么?请看一看merge\u asof
请给出您尝试过的内容。刚才添加了我目前为止的代码。prod\u data\u comb=pd.merge\u asof(prod\u data,price\u data,on='Date')。这个成功了。谢谢