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

如何基于用户分组在Pandas中创建滞后变量列

按用户分组生成仇恨回复数的滞后列解决方案

要实现按用户分组的hateful_replies滞后1期计算,且首次记录填充0,你可以借助pandas的groupby结合shift方法,步骤如下:

1. 确保数据按用户和时间排序

首先必须保证同一用户的记录按月份顺序排列,否则shift会取到错误的历史值:

df = df.sort_values(['user_name', 'month'])

2. 分组生成滞后列并填充空值

按user_name分组后,对hateful_replies执行shift(1),再用fillna(0)将首次记录的空值替换为0:

df['hateful_replies-1'] = df.groupby('user_name')['hateful_replies'].shift(1).fillna(0)

效果示例

假设原始数据如下:

user_namemonthhateful_replies
Alice15
Alice23
Bob12
Charlie10
Charlie24
Charlie31

处理后输出:

user_namemonthhateful_replieshateful_replies-1
Alice150
Alice235
Bob120
Charlie100
Charlie240
Charlie314

内容的提问来源于stack exchange,提问作者Connor95

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:22:13