python - 使用 Numpy Python 限制矩阵每行中的元素数量

标签 python numpy matrix indexing replace

我有以下 numpy 矩阵:

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

和一个 numpy 向量:

vector = np.array([1,2])

向量中的每个元素代表矩阵的每一行,我想保留的元素数量。我想用 0 替换矩阵中的所有其他元素。

最终的矩阵应该是这样的:

matrix_output = np.array([[1,0,0],[4,5,0]])

什么是最快的方法?

最佳答案

可以像这样做一些简单的事情:

import numpy as np

matrix = np.array([[1,2,3],[4,5,6]])
vector = np.array([1,2])

for row, index in enumerate(vector):
    matrix[row, index:] = 0

print(matrix)
[[1 0 0]
 [4 5 0]]

关于python - 使用 Numpy Python 限制矩阵每行中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67223078/

相关文章:

python - 简单的减法会导致不同数组形状的广播问题

java - 存储矩阵值以供以后访问的更好方法

algorithm - 如何解决这个线性编程问题?

python - Google 应用引擎如何从数据存储中计算 SUM?

python - 如何让 Pymacs 在 Ubuntu 中使用 EPD python 工作?

Python 3.x 读取带标题的文件(已识别标题之间的数据)

matlab - 三次样条程序

javascript - Opera桌面浏览器开发

python - 使用 mplot3d 缩放面部颜色的颜色图

python - 使用 Python、OpenCV 和卡尔曼滤波进行二维运动估计