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

Pandas同列分层多级索引场景下如何实现组内时间差delta_t计算

实现代码
  • 首先确保time列是datetime格式,否则无法计算时间差值
import pandas as pd
df['time'] = pd.to_datetime(df['time'])
  • 按会话维度分组计算递推时间差,这里直接用索引中的sess_id作为分组依据
# 按sess_id分组,每行取后一行时间减当前行时间
df['delta_t'] = df.groupby(level='sess_id')['time'].shift(-1) - df['time']

# 如果需要输出数值格式的秒级差值,可以用下面这行代替上面的
# df['delta_t'] = (df.groupby(level='sess_id')['time'].shift(-1) - df['time']).dt.total_seconds()
  • 将会话最后一行的空值替换为占位符-
df['delta_t'] = df['delta_t'].fillna('-')

如果你的多级索引顺序是sess_id在第0位,也可以把level='sess_id'替换为level=0,运行效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:06:04