Python 获取numpy矩阵中每行的多数元素

Python 获取numpy矩阵中每行的多数元素,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,有没有一种快速的方法(因此没有循环)来查找numpy数组中每行的多数元素并由此创建一个新数组 例如,如果您有以下numpy数组: X = [[ 1. 1. 1.] [ 1. 0. 1.] [ 1. 0. 1.] [ 1. 1. 1.] [ 1. 0. 1.] [ 1. 0. 1.] [ 0. 0. 0.] [ 1. 1. 1.] [ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]] 您可以执行获取多数(X),

有没有一种快速的方法(因此没有循环)来查找numpy数组中每行的多数元素并由此创建一个新数组

例如,如果您有以下numpy数组:

X = 
[[ 1.  1.  1.]
 [ 1.  0.  1.]
 [ 1.  0.  1.]
 [ 1.  1.  1.]
 [ 1.  0.  1.]
 [ 1.  0.  1.]
 [ 0.  0.  0.]
 [ 1.  1.  1.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]]
您可以执行
获取多数(X)
,这将输出

[ 1.  1.  1.  1.  1.  1.  0.  1.  0.  0.  0.]
我尝试通过循环矩阵并使用
集合
中的
计数器
来实现这一点,但这对于大型矩阵来说非常缓慢,因此我想找到一种矢量化方法来实现这一点。

您可以使用-

from scipy.stats import mode

mode(X, axis=-1)[0]