如何计算DataFrame中按Part分组后相邻日期的平均间隔天数
Pandas 分组计算相邻日期平均间隔实现方案
- 先将Date列转换为datetime格式,支持日期运算
df['Date'] = pd.to_datetime(df['Date']) - 计算每组相邻日期的间隔天数
你已经提前完成按Part、Date排序,无需额外排序操作:df['interval_days'] = df.groupby('Part')['Date'].diff().dt.days - 按Part分组求间隔平均值,得到最终结果
result = df.groupby('Part', as_index=False)['interval_days'].mean().rename(columns={'interval_days': 'Avg Days'})
实现说明
diff()方法会默认取当前行与上一行的差值,每组第一行的差值为NaN,mean()计算时会自动忽略NaN,最终得到的就是组内所有相邻日期的平均间隔天数,运行结果和预期完全一致:
| Part | Avg Days |
|---|---|
| 1 | 7 |
| 2 | 365 |
内容的提问来源于stack exchange,提问作者jmarusiak
相关产品推荐
相关产品推荐

