Python 如何根据定义的日期范围为每个组生成更多行?

Python 如何根据定义的日期范围为每个组生成更多行?,python,pandas,Python,Pandas,这是我的数据集的示例。通过结合商店id和产品id,您可以拥有唯一的id store_id product_id Date a 1 a 2 a 3 b 1 c 3 我想知道是否有办法为每个组添加更多行,使其位于日期列下的特定时间范围内。例如: pd.date_range('12-01-2017', '12-31-2017',fr

这是我的数据集的示例。通过结合商店id和产品id,您可以拥有唯一的id

store_id  product_id   Date
   a            1      
   a            2      
   a            3
   b            1
   c            3
我想知道是否有办法为每个组添加更多行,使其位于日期列下的特定时间范围内。例如:

pd.date_range('12-01-2017', '12-31-2017',freq='7D')
预期结果(此日期范围内重复的门店id和产品id)

因此,最终,我需要的是,每个store_id和product_id组合将基于data_range函数多出X行

请帮忙!谢谢大家需要在
groupby
之后使用。您可以执行以下操作:

# use date range
f =  pd.date_range('12-01-2017', '12-31-2017',freq='7D')

df = (df
 .groupby(['store_id','product_id'])
 .apply(lambda x: x.reindex(f))
 .drop(['store_id','product_id'],axis=1)
 .reset_index()
 .rename(columns={'level_2':'date'}))

  store_id  product_id       date
0        a           1 2017-12-01
1        a           1 2017-12-08
2        a           1 2017-12-15
3        a           1 2017-12-22
4        a           1 2017-12-29

你能提供一个预期产出的具体例子吗?您是否正在寻找一种可以生成全新的
store\u id
product\u id
值的解决方案,或者您是否需要将每一行复制指定的次数,并且每个重复的
store\u id,product\u id
行都有不同的日期?谢谢您的回复。我已经编辑了问题,请检查此解决方案中的
f
是什么?
# use date range
f =  pd.date_range('12-01-2017', '12-31-2017',freq='7D')

df = (df
 .groupby(['store_id','product_id'])
 .apply(lambda x: x.reindex(f))
 .drop(['store_id','product_id'],axis=1)
 .reset_index()
 .rename(columns={'level_2':'date'}))

  store_id  product_id       date
0        a           1 2017-12-01
1        a           1 2017-12-08
2        a           1 2017-12-15
3        a           1 2017-12-22
4        a           1 2017-12-29