我有两个数据帧,格式如下
DF1:
YearNb MonthNb WeekNb NatCoCode BNCode LocalPrice
0 2017 7 27 OBE BN20008222 60
1 2017 7 28 OBE BN20008222 61
2 2017 7 29 OBE BN20008222 62
3 2017 7 30 OBE BN20008223 63
4 2017 8 31 OBE BN20008223 64
5 2017 8 32 OBE BN20008223 65
6 2017 8 33 OBE BN20008223 66
7 2017 7 27 OFR BN20008222 67
8 2017 7 28 OFR BN20008222 68
9 2017 7 29 OFR BN20008222 69
10 2017 7 30 OFR BN20008223 70
11 2017 8 31 OFR BN20008223 71
12 2017 8 32 OFR BN20008223 72
DF2:
YearNb_x MonthNb_x WeekNb_x NatCoCode VariantCode
0 2017 7 27 OBE BN20008222
1 2017 7 28 OBE BN20008222
2 2017 9 34 OBE BN20008223
3 2018 4 18 OBE BN20008222
4 2017 8 31 OBE BN20008222
5 2017 8 32 OBE BN20008222
6 2018 7 27 OFR BN20008222
7 2017 7 28 OFR BN20008223
8 2017 7 29 OFR BN20008222
9 2017 8 31 OFR BN20008222
10 2017 8 32 OFR BN20008223
我要做的是获取DF2中可用的最新价格,并将其添加到DF1中的新列(LocalPrice)。此数据的频率为每周,周数基于日历周(1到一年中的最后一周),BNCode(与VariantCode相同)是产品的唯一标识,条件是:
如果同一代码、同一周、同一年有价格,我要这个价格。在
否则我会选最新的(前一周,两周前,三周,等等…)
以下是我试图做的,但老实说,我对熊猫这个级别并不太熟悉,所以我想我的逻辑是不正确的:
^{pr2}$这只是一个小样本,我有一个大得多的数据集,我们的想法是取同一周的价格,以防存在,否则取过去最近一周的价格。如果没有一个标准是有效的,它可能只是空的,未来的价格(在DF2中的一个之后的几周)就不有趣了。我手动起草了可能的结果,可能是这样的:
YearNb_x MonthNb_x WeekNb_x NatCoCode VariantCode Price
0 2017 7 27 OBE BN20008222 60
1 2017 7 28 OBE BN20008222 61
2 2017 9 34 OBE BN20008223 66
3 2018 4 18 OBE BN20008222 63
4 2017 8 31 OBE BN20008222 63
5 2017 8 32 OBE BN20008222 63
6 2018 7 27 OFR BN20008222 67
7 2017 7 28 OFR BN20008223 empty
8 2017 7 29 OFR BN20008222 69
9 2017 8 31 OFR BN20008222 70
10 2017 8 32 OFR BN20008223 72
有没有人对我如何处理这个问题有更好的建议?我也尝试过合并数据帧,但也没有成功。在
非常感谢!在
目前没有回答
相关问题 更多 >
编程相关推荐