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

如何每N行求numpy数组列的逐元素均值并为组内每行新增均值列

实现方案

步骤1:导入依赖库

import pandas as pd
import numpy as np

步骤2:核心逻辑实现

核心思路是用行序号整除3生成分组规则,将每个分组内的数组堆叠后按维度求均值,再把均值广播到分组内的所有行,完整可运行代码如下:

# 构造示例数据,如果你已有对应DataFrame可直接跳过这部分
df = pd.DataFrame({
    'y': [
        np.array([2,0,1]), np.array([0,0,4]), np.array([0,0,1]),
        np.array([2,0,2]), np.array([1,0,1]), np.array([0,0,2]),
        np.array([0,1,1]), np.array([0,0,0]), np.array([0,0,1])
    ]
})

# 直接新增分组均值列,无需生成中间分组字段
df['group_mean'] = df.groupby(df.index // 3)['y'].transform(
    lambda group: [np.mean(np.stack(group.to_list()), axis=0)] * len(group)
)

# 如果你需要把均值数组转为普通列表存储,可以额外加一步转换
# df['group_mean'] = df['group_mean'].apply(lambda x: x.tolist())

注意:如果你的DataFrame索引不是从0开始的连续整数,把分组规则换成pd.RangeIndex(len(df)) // 3即可,保证按行的先后顺序每3行一组。

结果验证

直接输出df即可得到和你预期完全一致的结构,每个分组的3行共用所属分组的均值数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:09:04