我有一个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 :(得分: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')
我无法解决这个问题。但它可能会奏效。