[解決済み] NumPyの配列の中で最も頻度の高い数字を探す
2022-04-25 07:15:16
質問
以下のようなNumPyの配列があるとします。
a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])
この配列の中で最も頻度の高い数字を見つけるにはどうしたらよいでしょうか?
どのように解決するのですか?
もし、リストがすべて非負のint型であるなら、numpy.bincountsを見てみてください。
http://docs.scipy.org/doc/numpy/reference/generated/numpy.bincount.html
で、おそらくnp.argmaxを使用します。
a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])
counts = np.bincount(a)
print(np.argmax(counts))
より複雑なリスト (負数や整数でない値を含む可能性がある) には
np.histogram
と同じような方法で。あるいは、numpyを使わずにpythonで作業したいだけなら。
collections.Counter
は、この種のデータを処理する良い方法です。
from collections import Counter
a = [1,2,3,1,2,1,1,1,3,2,2,1]
b = Counter(a)
print(b.most_common(1))
関連
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] NumPyの配列を切り詰めずに、完全に表示するにはどうしたらよいですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
PythonによるExcelファイルの一括操作の説明
-
Pythonの@decoratorsについてまとめてみました。
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] numpyの配列でモードを見つける最も効率的な方法
-
[解決済み】リストの中で最も一般的な要素を見つけよう