我有一个df类似于此的数据框(除了访问次数高达 74 并且有数百个客户端 - 我在此处对其进行了简化)。Client Visit_1 Visit_2 Visit_3 Visit_4 Visit_5 Eligible Active Client_1 2016-05-10 2016-05-25 2016-06-10 2016-06-25 2016-07-10 0 0 Client_2 2017-05-10 2017-05-25 2017-06-10 2017-06-25 2017-07-10 0 0 Client_3 2018-09-10 2018-09-26 2018-10-10 2018-10-26 2018-11-10 1 0 Client_4 2018-10-10 2018-10-26 2018-11-10 2018-11-26 2018-12-10 1 1 我想创建一个名为Visit in Window0 和 1 两个值的新列。Visit in Window如果客户端是Eligible(Eligible列中的“1”值)并且如果客户端是Active(列中的“1”值),我想设置为等于 1 Activecolumn) 并且如果从to的 5 列中的任何一列包含介于和之间的日期。Visit_1Visit_52018-10-252018-12-15所以,我想最终得到一个如下所示的数据框:Client Visit_1 Visit_2 Visit_3 Visit_4 Visit_5 Eligible Active Visit_in_Window Client_1 2016-05-10 2016-05-25 2016-06-10 2016-06-25 2016-07-10 0 0 0 Client_2 2017-05-10 2017-05-25 2017-06-10 2017-06-25 2017-07-10 0 0 0 Client_3 2018-09-10 2018-09-26 2018-10-10 2018-10-26 2018-11-10 1 0 0 Client_4 2018-10-10 2018-10-26 2018-11-10 2018-11-26 2018-12-10 1 1 1 我可以使用以下代码为一列执行此操作df['Visit_in_Window'] = 0df.loc[((df.Eligible == 1) & (df.Active == 1) & (df.Visit_1 > '2018-10-24') & (df.Visit_1 < '2018-12-16')), 'Visit_in_Window'] = 1但是,我不知道如何同时对多个列执行此操作。任何人都可以帮忙吗?
添加回答
举报
0/150
提交
取消