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

使用np.pad填充矩阵时列填充结果异常,如何修复?

问题分析与解决

这不是np.pad的Bug,你的代码逻辑本身是正确的——针对形状为(100,94)的矩阵,np.pad(matrix, [(0,0),(0,6)], 'constant', constant_values=(1))确实应该输出(100,100)的矩阵。你得到(100,0)的结果,大概率是原始矩阵的实际形状不符合预期,或者代码执行过程中矩阵被意外修改了。

排查与验证步骤

  • 先确认原始矩阵的真实形状:执行print(matrix.shape),确保输出是(100, 94)。如果输出不是这个,说明你对矩阵形状的判断有误,需要先修正矩阵的定义或预处理步骤。
  • 若矩阵形状正确,执行以下测试代码验证:
import numpy as np
# 创建一个标准的(100,94)测试矩阵
test_matrix = np.random.rand(100, 94)
# 执行填充操作
padded_test = np.pad(test_matrix, [(0,0), (0,6)], mode='constant', constant_values=1)
print(padded_test.shape)  # 预期输出:(100, 100)

替代实现方案

如果还是遇到异常,也可以用更直观的方式实现末尾填充6个1的需求,避免依赖np.pad的参数细节:

  • 方法1:数组拼接
padded_matrix = np.hstack([matrix, np.ones((100, 6))])
  • 方法2:创建新数组并赋值
padded_matrix = np.ones((100, 100))
padded_matrix[:, :94] = matrix

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:35:06