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

Python Pandas 计算每3行重叠分组的居中窗口行中位数方法

实现3行中心滑动窗口中位数计算

你需要使用pandas内置的滑动窗口方法rolling实现重叠窗口的计算,groupby是固定分块的非重叠分组逻辑,天然不满足滑动窗口的需求,正确实现代码如下:

import pandas as pd
import numpy as np

# 构造示例DataFrame,实际使用时替换为你自己的数据集即可
df = pd.DataFrame({
    'Index': range(1, 10),
    'Duration': [100, 300, 350, 200, 500, 1000, 350, 200, 400]
}).set_index('Index')

# 核心计算逻辑
df['Median'] = df['Duration'].rolling(window=3, center=True).median()

# 输出结果
print(df)

参数说明

  • window=3:指定单个滑动窗口包含3行数据
  • center=True:将当前行作为窗口的中心,每个窗口自动覆盖当前行的前1行、当前行、后1行,完全匹配你的计算范围要求
  • 该方法默认对大小不足的窗口返回NaN,无需额外处理即可实现首尾两行Median值为空的要求,且底层做了性能优化,适合大规模数据集使用

运行后输出结果和你给出的预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:54:10