矢量化实现,以获得每行中最小元素的索引



我有一个类似的numpy.ndarray:

array([[ 11.18033989,   0.        ],
       [  8.24621125,   3.        ],
       [ 13.03840481,   5.        ],
       [  6.        ,   5.38516481],
       [ 11.18033989,   3.16227766],
       [  0.        ,  11.18033989],
       [  8.06225775,   4.24264069]])

我想得到一个新的数组a,使得a[I]是上面矩阵第I行中最小元素的索引。例如:array([1, 1, 1, 1, 1, 0, 1])

我可以用带有argmin的for循环来实现,但由于我希望此算法是可扩展的,我正在寻找一种使用矢量化实现的方法。我想numpy会提供这样的功能,但我是numpy的新手,所以我不知道该去哪里看。

如果X是您的数组,

X.argmin(axis=1)

最新更新