Numpy配列内の特定の範囲の値をカウントするにはどうすればいいですか? 質問する

Numpy配列内の特定の範囲の値をカウントするにはどうすればいいですか? 質問する

NumPy 配列の値があります。これらの値のうち、x<100 および x>25 などの特定の範囲内にある値がいくつあるかを数えたいと考えています。カウンターについて読みましたが、値の範囲ではなく特定の値に対してのみ有効なようです。検索しましたが、私の特定の問題に関連するものは見つかりませんでした。適切なドキュメントを教えていただけるとありがたいです。ありがとうございます

私はこれを試しました

   X = array(X)
   for X in range(25, 100):
       print(X)

しかし、表示されるのは 25 から 99 までの数字だけです。

編集私が使用しているデータは別のプログラムによって作成されたものです。その後、スクリプトを使用してデータを読み取り、リストとして保存しました。次に、リストを取得して、array(r) を使用して配列に変換しました。

編集

実行の結果

 >>> a[0:10]
 array(['29.63827346', '40.61488812', '25.48300065', '26.22910525',
   '42.41172923', '20.15013315', '34.95323355', '13.03604098',
   '29.71097606', '9.53222141'], 
  dtype='<U11')

ベストアンサー1

配列が と呼ばれる場合a、 を満たす要素の数25 < x < 100

((25 < a) & (a < 100)).sum()

式の結果は、条件を満たすすべての要素の値が(25 < a) & (a < 100)と同じ形状のブール配列になります。このブール配列を合計すると、値は として扱われ、値は として扱われます。aTrueTrue1False0

おすすめ記事