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

如何为Numpy数组添加与原首尾列相同的新首尾列(含三维图像数组场景)

给Numpy三维数组首尾添加与原首尾列相同的新列

需求说明

需要对形状为 (rows, cols, depth) 的三维图像Numpy数组进行处理:在**列维度(对应shape的第二个维度)**的首尾各新增一列,其中新增的首列与原数组的首列完全一致,新增的末列与原数组的末列完全一致。

二维数组的效果示例:

原二维数组:

1 5 4 
2 5 3

处理后结果:

1 1 5 4 4
2 2 5 3 3

实现方案

利用Numpy的数组拼接功能即可完成,核心是先提取原数组的首尾列,再按列维度拼接。

代码示例

import numpy as np

# 生成测试用三维数组(可替换为你的图像数组)
image = np.random.randint(0, 10, size=(3, 4, 2))  # 形状为 (3行, 4列, 2深度)
print("原数组形状:", image.shape)

# 提取首列和末列(保持三维结构,避免拼接维度不匹配)
first_col = image[:, 0:1, :]
last_col = image[:, -1:, :]

# 按列维度拼接首列、原数组、末列
result = np.concatenate([first_col, image, last_col], axis=1)
print("处理后数组形状:", result.shape)

补充说明

  • 使用 [:, 0:1, :] 而非 [:, 0, :] 提取列,是为了保留数组的三维结构,避免提取出二维数组导致拼接时维度错误
  • 也可以用 np.hstack() 替代 np.concatenate(),写法更简洁:
    result = np.hstack([first_col, image, last_col])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:10:32