簡體   English   中英

查找numpy ndarray的某些值

[英]Find certain value of numpy ndarray

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

我想找到在這種情況下具有(0,1)索引為2的a值。

我已經嘗試過a[b]但是它沒有顯示出預期的結果。

我怎么解決這個問題?

使用a[tuple(b)] ,如下所示:

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

In [4]: b=np.array([0,1])

In [5]: a[tuple(b)]
Out[5]: 2

有關更多信息,請參閱https://docs.scipy.org/doc/numpy-1.16.0/user/basics.indexing.html#dealing-with-variable-numbers-of-indices-within-programs

您也可以使用for循環:

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

for var in b:
    a = a[var]
print(a)

產量

2

這些行:

a = [[1,2,3],[4,5,6],[7,8,9]]
b = [0,1]

這些是列表,而不是ndarrays。 列表不支持奇特的numpy索引。 要訪問該列表列表的第0個條目的第1個元素,請使用:

print(a[0][1])

如果您實際上想使用numpy ndarrays,請嘗試如下操作:

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a[0,1])
print(a[0][1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM