创建一个列,该列是从另一列中提取的特定日期之后的一组列中日期数的总和

Create a column that is a sum of the number of dates in a group of columns that come after a particular date, pulled from another column

我有一个名为的数据框,看起来与此类似(除了 'Visit' 列的数量增加到 Visit_84 并且有数百个客户端 - 我在这里简化了它)

Client    Visit_1    Visit_2    Visit_3    Visit_4    ident_date
Client_1  2018-01-01 2018-01-20 2018-02-10 2018-02-20 2018-01-31
Client_2  2018-01-10 2018-01-30 2018-02-10 2018-03-20 2018-02-31
Client_3  2018-01-20 2018-04-01 2018-04-10 2018-04-20 2018-03-31
Client_4  2018-01-30 2018-03-01 2018-03-10 2018-04-25 2018-04-31

我想创建一个名为 vis_sum 的新列,它生成 ident_date 之后每个客户的所有访问的总和。生成的数据框应如下所示:

Client    Visit_1    Visit_2    Visit_3    Visit_4    ident_date vis_sum
Client_1  2018-01-01 2018-01-20 2018-02-10 2018-02-20 2018-01-31 2
Client_2  2018-01-10 2018-01-30 2018-02-10 2018-03-20 2018-02-31 1
Client_3  2018-01-20 2018-04-01 2018-04-10 2018-04-20 2018-03-31 3
Client_4  2018-01-30 2018-03-01 2018-03-10 2018-04-25 2018-04-31 0

确定日期后

df.set_index('Client',inplace=True)
#df=df.apply(pd.to_datetime)

df['new']=df.gt(df.ident_date,axis=0).sum(1)
df
Out[763]: 
            Visit_1    Visit_2    Visit_3    Visit_4 ident_date  new
Client                                                              
Client_1 2018-01-01 2018-01-20 2018-02-10 2018-02-20 2018-01-31    2
Client_2 2018-01-10 2018-01-30 2018-02-10 2018-03-20 2018-02-28    1
Client_3 2018-01-20 2018-04-01 2018-04-10 2018-04-20 2018-03-31    3
Client_4 2018-01-30 2018-03-01 2018-03-10 2018-04-25 2018-04-30    0