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

如何将给定的numpy.ndarray矩阵扩展为指定的零填充包围矩阵?

解决方案:将小Numpy数组嵌入全0大数组

嘿,要实现把你的2x2数组放到4x6全0数组的中间位置,有两种简单直接的方法,我给你一步步拆解:

方法1:手动创建全0数组后切片赋值

这种方法直观易懂,先创建目标尺寸的全0数组,再把原数组放到指定位置:

import numpy as np
a = np.array([[1, 2], [3, 4]])

# 创建4行6列的全0数组
result = np.zeros((4, 6), dtype=int)
# 将原数组赋值到中间区域:行索引1-3(共2行),列索引2-4(共2列)
result[1:3, 2:4] = a

print(result)

运行结果:

[[0 0 0 0 0 0]
 [0 0 1 2 0 0]
 [0 0 3 4 0 0]
 [0 0 0 0 0 0]]

方法2:使用np.pad()函数(更简洁)

Numpy的pad函数专门用来给数组添加边界填充,我们可以指定上下左右的填充长度,填充值设为0:

import numpy as np
a = np.array([[1, 2], [3, 4]])

# pad参数解释:((上填充行数, 下填充行数), (左填充列数, 右填充列数))
result = np.pad(a, pad_width=((1, 1), (2, 2)), mode='constant', constant_values=0)

print(result)

运行结果和上面完全一致,这种方法更灵活,适合调整填充的尺寸。

两种方法都能完美实现你的需求,看你更喜欢哪种风格啦~

内容的提问来源于stack exchange,提问作者Tejeshwara B.M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:22:00