在numpy矩阵中获取每行的大多数元素
问题描述:
有没有一种快速的方法(因此无循环)在numpy数组中找到每行的多数元素并从中创建一个新的数组?在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.]]
你可以做get_majority(X)
,这将输出
[ 1. 1. 1. 1. 1. 1. 0. 1. 0. 0. 0.]
我试着通过遍历矩阵,并使用这样一个Counter
从collections
,但这对大矩阵非常缓慢,所以我想找到一个矢量化的方式来做到这一点。