2016-05-17 82 views
0

我有要组与如下因素列的DF1组通过对值数据帧从其它数据帧

retailer      object 
store_id       int64 
visit_date    datetime64[ns] 
categories_euclidean   float64 
probes_euclidean    float64 

欲组它由以下DF2

  pk start_date end_date 
name        
Cycle 01 1 2016-02-24 2016-03-13 
Cycle 02 2 2016-03-14 2016-03-27 
Cycle 03 3 2016-03-28 2016-04-10 
Cycle 04 4 2016-04-11 2016-04-24 
Cycle 05 5 2016-04-25 2016-05-08 
Cycle 06 6 2016-05-09 2016-05-22 

过滤条件为: df2.start_date <= df1.visit_date <= df2.end_date, 和组名称是df2.names

任何想法如何做?

回答

0

尝试:

def filt(x): 
    cond1 = df2.start_date <= x 
    cond2 = df2.end_date >= x 
    return df2[cond1 & cond2].index[0] 

df1['name'] = df1.visit_date.apply(filt) 

df1.groupby('name') 

我不能玩这个。但它可能工作。