2016-05-17 81 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') 

我不能玩這個。但它可能工作。