如何在Python Pandas DataFrame中添加新列,并且此新列具有基于多个条件的另一列中的值

时间:2018-08-08 14:53:04

标签: python pandas

我已经在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

我如何用熊猫来做到这一点?

0 个答案:

没有答案