我有一个包含每月数据的数据框。示例如下
df = pd.DataFrame({'date': ['2010-02-28', '2010-04-30', '2010-01-31', '2010-03-31'], 'group': ['A', 'A', 'B', 'B']})
我想在每个组的开始日期和结束日期之间插入月份结束日期。问题是每个组都有不同的开始日期和结束日期。
下面是我的尝试。但是,结果具有相同的开始日期和结束日期,并且new_date-group组合不是唯一的。
df['new_date'] = df.apply(lambda x: pd.date_range(start='2010-01-31', end='2010-04-30', freq = 'M'), axis=1)
df = df.explode('new_date').reset_index(drop=True)
2条答案
按热度按时间ac1kyiln1#
您可以在
groupby_apply
中使用pd.date_range
:klr1opcd2#
另一种可能的解决方案基于
pandas.DataFrame.resample
:输出: