【问题标题】:Index column values in 2D array using array of indices [duplicate]使用索引数组在二维数组中索引列值[重复]
【发布时间】:2020-04-17 13:20:34
【问题描述】:

我有以下数组:

import numpy as np 

print(A)
array([[ 0,  1,  4,  5,  8,  7],
       [ 5,  3,  4,  1,  8, 11],
       [ 2,  7,  5,  3,  4,  1],
       [ 2,  8,  8,  1, 10,  1],
       [ 2, 14,  8,  6,  5,  3]])

我需要这些列索引对应的值A

b = np.array([5, 0, 3, 4, 4])

预期输出:

array([ 7,  5,  3, 10,  5])

提前致谢。

【问题讨论】:

  • 请分享预期的输出
  • 编辑包括:)

标签: python arrays numpy


【解决方案1】:

您可以使用advanced indexing。您需要在第一个轴上定义一个索引数组,以便两个索引数组一起广播,并且每个列索引 引用 到特定行。在这种情况下,您只需要一个 np.arange 来索引行:

A[np.arange(A.shape[0]), b]
# array([ 7,  5,  3, 10,  5])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 2016-09-19
    • 2020-06-11
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多