numpy中的每列矩阵索引有效

MRm:

我有两个大小相同的矩阵A,B。我想使用B的列以每列为基础来递增A的列。例如,

A = np.array([[1, 4, 7],
              [2, 5, 8],
              [3, 6, 9]])

B = np.array([[0, 0, 2],
              [1, 2, 1],
              [2, 1, 0]])

我想要类似的东西:

A[B] = [[1, 4, 9],  
        [2, 6, 8], 
        [3, 5, 7]]

即,我已将B的第j列用作A的第j列的索引。这样做有什么有效的方法吗?谢谢!

yatu:

您可以使用高级索引

A[B, np.arange(A.shape[0])]

array([[1, 4, 9],
       [2, 6, 8],
       [3, 5, 7]])

或搭配np.take_along_axis

np.take_along_axis(A, B, axis=0)

array([[1, 4, 9],
       [2, 6, 8],
       [3, 5, 7]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

对大型稀疏矩阵的每一行中的每k列求和的有效方法

将索引分配给矩阵中的True值的有效numpy方法

python中是否有一种有效的方法可以将矩阵中的每一列与同一矩阵中的所有列相乘?

有效地从矩阵中逐列减去

R中矩阵的有效子集和列求和

基于R?中某些值和索引矩阵的更有效的数据矩阵获取方法。

如何有效地将稀疏矩阵列添加到另一个稀疏矩阵中的每一列?

从Scipy CSR矩阵索引到numpy数组的最有效方法?

如何有效地比较2D矩阵中的每一对行?

有什么更有效的方法来计算矩阵中除其自身列以外的每一行的最大值?

如何使用索引有效地获取张量中每一行的值?

numpy:将方矩阵的索引转换为其上三角索引的有效方法

如何将矩阵变换有效地应用于NumPy数组的每一行?

在 numpy 中更新特定列的最有效方法

从Numpy数组中删除列的有效方法?

从R中的索引集中获取矩阵元素的有效方法是什么?

一种获取矩阵中的正切索引或值的有效方法

numpy中具有不同形状的有效乘法矩阵

如何使用numpy有效地查找转换矩阵中的状态变化?

使矩阵乘法运算符@对numpy中的标量有效

有效地构造Numpy中的稀疏邻接矩阵

如何有效地对numpy中的每个块矩阵块应用相同的运算?

如何有效地计算numpy中两个矩阵系列的外积?

二维numpy数组中带有索引的Pandas数据帧的有效子集

除了NumPy矩阵中的特定列,是否有一种有效的方法来获取max元素的位置?

如何有效地计算R中稀疏矩阵的每一行的平方和?

如何有效地对 numpy 矩阵进行排序

使用numpy进行有效的矩阵切片

在 Numpy 或 Pandas 中的每一行之後立即插入相似行(僅更改一列)的有效方法