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

Python中如何将19×3矩阵填充为513×3矩阵(保留原行补零/一)

Python实现矩阵扩展(保留原行+0/1填充)

当然可行,下面给两种实用的实现方式:

方法1:使用NumPy(推荐,适合数值矩阵操作)

NumPy是Python处理数值矩阵的标准库,操作简洁高效:

import numpy as np

# 假设原矩阵是19×3的numpy数组
original_matrix = np.random.rand(19, 3)  # 示例原矩阵,替换成你的实际数据

# 目标行数
target_rows = 513
# 计算需要填充的行数
pad_rows = target_rows - original_matrix.shape[0]

# 用0填充:创建全0的pad_rows×3矩阵,然后垂直拼接
zero_padded_matrix = np.vstack([original_matrix, np.zeros((pad_rows, 3))])

# 用1填充:创建全1的pad_rows×3矩阵,然后垂直拼接
one_padded_matrix = np.vstack([original_matrix, np.ones((pad_rows, 3))])

方法2:纯Python列表实现(无需额外库)

如果不想依赖NumPy,用原生列表也能轻松实现:

# 假设原矩阵是19×3的列表
original_matrix = [[i, i+1, i+2] for i in range(19)]  # 示例原矩阵,替换成你的实际数据

target_rows = 513
pad_rows = target_rows - len(original_matrix)

# 用0填充:原列表 + 生成pad_rows行全0的子列表
zero_padded_matrix = original_matrix + [[0]*3 for _ in range(pad_rows)]

# 用1填充:原列表 + 生成pad_rows行全1的子列表
one_padded_matrix = original_matrix + [[1]*3 for _ in range(pad_rows)]

注意:纯Python实现时,不要用[[0]*3]*pad_rows这种写法——所有子列表会共享同一个引用,修改其中一行会影响所有行,用列表推导式[[0]*3 for _ in range(pad_rows)]才是正确的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:20:27