You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用groupby聚合结果为Pandas DataFrame新增按type统计的前一日target均值列

解决方案

首先提前处理日期列,避免排序逻辑异常:

import pandas as pd
# 确保date列为日期格式
df['date'] = pd.to_datetime(df['date'])

你已经计算出的按date、type分组的均值means可以按以下步骤处理,最终匹配到原DataFrame:

  1. 将多级索引的均值Series转为DataFrame,并按分组维度排序保证时间顺序正确
df_means = means.reset_index(name='curr_day_mean')
df_means = df_means.sort_values(['type', 'date'])
  1. 按type分组,将当日均值向下偏移1行,得到对应type的前一日均值
df_means['prev_type_mean'] = df_means.groupby('type')['curr_day_mean'].shift(1)
  1. 将计算好的前一日均值合并回原DataFrame
df = df.merge(
    df_means[['date', 'type', 'prev_type_mean']],
    on=['date', 'type'],
    how='left'
)

最终得到的prev_type_mean列就是你需要的结果,和你给出的预期输出完全一致。

内容的提问来源于stack exchange,提问作者Carlos Navarro Astiasarán

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:36:03