2017-03-16 10 views
1

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.]] 

あなたが出力

[ 1. 1. 1. 1. 1. 1. 0. 1. 0. 0. 0.] 

は私が行列をループして使用してこれをやってみましたでしょうget_majority(X)を行うことができます:あなたは、次のnumpyの配列を持っている場合、例えば

、 a Counterからcollectionsまでですが、それは大規模な行列では非常に遅いので、ベクトル化された方法を探したいと思います。

答えて

3

あなたは使用することができScipy's mode -

from scipy.stats import mode 

mode(X, axis=-1)[0] 
関連する問題