10

float 型の numpy 配列の bincount を取得しようとしています:

w = np.array([0.1, 0.2, 0.1, 0.3, 0.5])
print np.bincount(w)

int ではなく float 値で bincount() を使用するにはどうすればよいですか?

4

3 に答える 3

13

numpy.uniqueを使用する前に使用する必要がありますbincount。そうでなければ、あなたが数えているものがあいまいです。uniquenumpy 配列の Counter よりもはるかに高速である必要があります。

>>> w = np.array([0.1, 0.2, 0.1, 0.3, 0.5])
>>> uniqw, inverse = np.unique(w, return_inverse=True)
>>> uniqw
array([ 0.1,  0.2,  0.3,  0.5])
>>> np.bincount(inverse)
array([2, 1, 1, 1])
于 2012-04-12T14:17:14.497 に答える