1. ホーム
  2. python

[解決済み] ndarrayの中のある項目の出現回数を数えるには?

2022-03-18 12:12:48

質問

Pythonで、ndarrayがあります。 y と表示されます。 array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

が何個あるか数えているんです。 0 の数と 1 は、この配列の中にあります。

しかし、私が y.count(0) または y.count(1) と表示されます。

numpy.ndarray オブジェクトには属性がありません count

どうしたらいいのでしょうか?

解決方法は?

a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])
unique, counts = numpy.unique(a, return_counts=True)
dict(zip(unique, counts))

# {0: 7, 1: 4, 2: 1, 3: 2, 4: 1}

非ナンピーの方法 :

使用方法 collections.Counter ;

import collections, numpy
a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])
collections.Counter(a)

# Counter({0: 7, 1: 4, 3: 2, 2: 1, 4: 1})