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

如何在pandas dataframe的相邻两行之间插入对应列的均值行

Pandas相邻行均值计算方案

以下是可直接运行的优雅实现:

import pandas as pd
import numpy as np

# 示例数据集
df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                   columns=['a', 'b', 'c'])

# 核心计算逻辑
# 计算相邻两行均值,将均值行索引调整为原索引中间值,方便后续排序
row_mean = df2.rolling(2).mean().dropna().set_axis(df2.index[:-1] + 0.5)
# 合并原数据与均值行,按索引排序后重置连续索引
df2_mean = pd.concat([df2, row_mean]).sort_index().reset_index(drop=True)

运行后输出df2_mean即可得到目标结果:

a    b    c
0  1.0  2.0  3.0
1  2.5  3.5  4.5
2  4.0  5.0  6.0
3  5.5  6.5  7.5
4  7.0  8.0  9.0

方案逻辑说明

  • 用rolling(2).mean()做窗口大小为2的滑动均值计算,得到的结果中索引n对应原数据集第n-1行和第n行的均值
  • 去掉首行空值后,调整均值行的索引为原相邻两行索引的中间值,保证合并后排序顺序符合预期
  • 合并原数据集和均值行后按索引排序,重置为连续索引即可得到最终结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:03