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

Python中如何在数组指定位置插入全零行

解决Numpy数组按指定索引选行并补全零行的问题

问题描述

现有Numpy数组A,通过列表J选取特定位置的行生成新数组,但需要在J未覆盖的索引位置插入全零行,最终结果的行数与原数组A保持一致。

原代码与当前输出

原代码仅提取了J指定的行,未补全零行:

import numpy as np
A=np.array([[1,2,3,4,5],
            [6,7,8,9,10],
            [11,12,13,14,15],
            [16,17,18,19,20],
            [21,22,23,24,25]])


J=[[1, 4]]
result=np.array([list(A[i]) for i in J[0]])
print([result])

当前输出:

[array([[ 6,  7,  8,  9, 10],
       [21, 22, 23, 24, 25]])]

解决方案

直接创建与原数组形状一致的全零数组,再将J指定索引的行从A中赋值到对应位置,这种方法高效且简洁:

import numpy as np

A = np.array([[1,2,3,4,5],
              [6,7,8,9,10],
              [11,12,13,14,15],
              [16,17,18,19,20],
              [21,22,23,24,25]])

J = [[1, 4]]
# 初始化与A形状完全相同的全零数组
result = np.zeros_like(A)
# 将J指定索引的行从A赋值到result对应位置
result[J[0]] = A[J[0]]
print([result])

期望输出

运行上述代码后,输出与需求一致:

[array([[0, 0, 0, 0, 0],
        [ 6,  7,  8,  9, 10],
        [0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0],
        [21, 22, 23, 24, 25]])]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:55:49