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

使用Numpy按均值填充缺失值调整数组到指定形状的实现方法

Numpy数组按均值填充扩容实现方法

通用实现逻辑

你可以通过计算原数组均值、动态生成填充数组、数组拼接三步完成需求,该方法对所有长度小于目标长度的(?,1)数组都适用:

  1. 计算原数组所有元素的平均值
  2. 计算需要填充的元素个数 = 目标长度 - 原数组第一维长度
  3. 生成形状为(填充个数, 1)、所有值为均值的数组,和原数组按行拼接即可

针对你给出的(22,1)数组的示例代码

import numpy as np

# 你的原始(22,1)数组
origin_arr = np.array([[365.],
       [173.],
       [389.],
       [173.],
       [342.],
       [173.],
       [294.],
       [165.],
       [246.],
       [142.],
       [254.],
       [142.],
       [357.],
       [260.],
       [389.],
       [339.],
       [389.],
       [339.],
       [381.],
       [410.],
       [381.],
       [410.]])

# 计算均值
mean_val = origin_arr.mean()
# 计算需要填充的数量:目标长度24减去原长度22
pad_count = 24 - origin_arr.shape[0]
# 生成填充数组
pad_arr = np.full((pad_count, 1), mean_val)
# 拼接得到(24,1)的新数组
new_arr = np.concatenate([origin_arr, pad_arr], axis=0)

如果你需要把填充值放在数组开头而非末尾,只需要把拼接顺序改为np.concatenate([pad_arr, origin_arr], axis=0)即可。

(19,1)数组的适配说明

完全可以使用同样的方法处理,不需要修改逻辑:代码会自动计算需要填充的元素个数为24-19=5,生成对应长度的均值填充数组拼接即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:27:03