【问题标题】:selecting multiple values in numpy array在numpy数组中选择多个值
【发布时间】:2020-06-08 21:09:12
【问题描述】:

在一个 numpy 数组中获取多个值时我遇到了很多麻烦。例如,如果 a 有一个数组

array = np.array([[1, 2, 3 , 12 , 14],
                 [2, 67, 94, 1, 54],
                 [12, 9, 0, 10, 3],
                 [2, 45, 2, 21, 85]])

想象一下我需要找回这个数组

([[3, 12],
  [94, 1],
  [0, 10],
  [2, 21]])

或者我希望你教我如何获取它们的任何其他数组,但不只是具体的这个我想要一个一般性的解释,或者至少一个指向我可以找到的地方的链接

【问题讨论】:

标签: python arrays numpy numpy-ndarray


【解决方案1】:
x = array[:,2:4]
print(x)

上面的代码可以解决问题。您可以在以逗号分隔的每个维度中进行切片( : 是切片运算符)。这里的第一个冒号 (:) 用于第一维,即您想从所有行中获取值。第二维的 2:4 表示您要从第 2 列取到 4-1,即包含 3。

【讨论】:

    【解决方案2】:

    您的具体问题的答案是:

    array[:, 2:4]
    
    Out: 
    array([[ 3, 12],
           [94,  1],
           [ 0, 10],
           [ 2, 21]])
    

    发生的情况是第一个索引正在引用您想要的行。第二个索引是您想要的列。字符“:”表示“全部”,您需要某些特定列的所有行。具体列引用为2:4;这意味着从第 2 列开始(记住 Python 索引从 0 开始),并且您希望通过但不包括第 4 列获取所有列。

    【讨论】:

    • 我有时会看到人们使用诸如 array[::, 2:4] 之类的东西或类似的东西,但我想知道 '::' 是什么意思
    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2019-04-02
    • 2020-12-18
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多