NumPy:如何根据某些条件确定数据列第一轴的索引?

NumPy:如何根据某些条件确定数据列第一轴的索引?,numpy,numpy-indexing,Numpy,Numpy Indexing,考虑以下数据列a- In [117]: a Out[117]: array([[[nan, nan], [nan, nan], [nan, nan]], [[ 3., 11.], [ 7., 13.], [12., 16.]],

考虑以下数据列
a
-

In [117]: a                                                                                          
Out[117]: 
array([[[nan, nan],
        [nan, nan],
        [nan, nan]],

       [[ 3., 11.],
        [ 7., 13.],
        [12., 16.]],

       [[ 0.,  4.],
        [ 6.,  1.],
        [ 5.,  8.]],

       [[17., 10.],
        [15.,  9.],
        [ 2., 14.]]])
在第一个轴上计算的最小值为-

In [118]: np.nanmin(a, 0)                                                                            
Out[118]: 
array([[0., 4.],
       [6., 1.],
       [2., 8.]])

这是目视检查得出的
a[2]
。根据@Divakar的建议,计算该指数的最有效方法是什么


有argmax/argmin。您在寻找更通用的版本吗?不要认为这是
a[2]
。假设您正在寻找
np。nanargmin(a,0)
a[2]
是正确的,因为它的和/平均值最低。见
np.sum(a,(1,2))
import numpy as np

a = np.array([[[np.nan, np.nan],
        [np.nan, np.nan],
        [np.nan, np.nan]],

       [[ 3., 11.],
        [ 7., 13.],
        [12., 16.]],

       [[ 0.,  4.],
        [ 6.,  1.],
        [ 5.,  8.]],

       [[17., 10.],
        [15.,  9.],
        [ 2., 14.]]])
minIdx = np.nanargmin(np.sum(a,(1,2)))
minIdx
2
a[minIdx]
array([[0., 4.],
       [6., 1.],
       [5., 8.]])