我已经在stackoverflow上搜索了我的问题的答案,但是即使某些问题很接近,这个问题也有不同的角度。
我有一个包含各个列的数据集,如下所示:
date next_workday value1 value2 value3
0 06/06/18 06/07/18 x a 4.66
1 06/06/18 06/07/18 y a 3.23
2 06/06/18 06/07/18 z b 5.43
3 06/05/18 06/06/18 x a 2.56
4 06/05/18 06/06/18 y a 4.98
5 06/05/18 06/06/18 z a 8.99
如您所见,同一天有很多条目。在这种情况下,三个来自18年6月6日,三个来自18年6月5日。现在,我想添加一个新列(称为“ value4”),该新列的值应来自满足以下条件的value3列:
在date = next_workday上查找value3,如果value1和value2与当天相同,则取这个value3。其他值4 =当天的vavlue3。
因此最终数据集应如下所示:
date next_workday value1 value2 value3 value4
0 06/06/18 06/07/18 x a 4.66 4.66
1 06/06/18 06/07/18 y a 3.23 3.23
2 06/06/18 06/07/18 z b 5.43 5.43
3 06/05/18 06/06/18 x a 2.56 4.66
4 06/05/18 06/06/18 y a 4.98 3.23
5 06/05/18 06/06/18 z a 8.99 8.99
例如,以第4行为例:那是06/05/18 ... next_workday ist 06/06/18 .... value1应该是“ y”,value2应该是“ a” .. 。转到第0行,date = next_workday,但是value1 =“ x”而不是“ y”。转到第1行,date = next_workday,满足value1和value2条件,因此value4为3.23
我如何用熊猫来做到这一点?