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

使用Numpy ndarray表示矩阵时,如何基于某列值修改另一列?

基于Numpy数组另一列的值更新目标列

实现代码

结合你的示例数组,直接用Numpy的布尔索引就能完成条件更新,代码如下:

import numpy as np

# 初始化示例数组
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

# 生成布尔掩码:筛选第二列(Numpy用0索引,所以对应索引1)值大于3的行
mask = arr[:, 1] > 3
# 给符合条件的行的第三列(索引2)加10
arr[mask, 2] += 10

执行后数组会变为:

array([[ 1,  2,  3,  4],
       [ 5,  6, 17,  8],
       [ 9, 10, 21, 12]])

关于ndarray的概念说明

你对ndarray的理解没有问题,它确实是Numpy官方推荐用来表示矩阵(多维数组)的核心结构。它的核心优势是支持向量化操作——不用像普通Python列表那样写循环遍历每一行,直接通过布尔索引就能批量处理符合条件的元素,效率远高于循环遍历。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:15:23