実現したいこと
二次元のndarrayにおいて、値が大きい上位N%の要素の平均を計算したい
前提
二次元のndarrayがあったときに、全要素の上位N%の要素のみの平均を計算したいです。
例えば以下の4×5のndarrayだった場合、上位20%であれば該当する要素は 4 4 4 4 なので平均は4と出力し、
上位25%では 4 4 4 4 3 なので平均は3.8と出力するイメージです
[[1 1 1 1 1]
[2 2 2 2 2]
[3 3 3 3 3]
[4 4 4 4 4]]
np.percentileを用いて実装しようとしたのですが、同じ値が多かったりするとうまくいきません。
何か良い実装方法はないでしょうか。よろしくお願いいたします。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
> 例えば以下の4×5のndarrayだった場合、上位20%であれば該当する要素は 4 4 4 4 なので平均は4と出力し、上位25%では 4 4 4 4 3 なので平均は3.8と出力するイメージです
その頭の中での計算手順をコードにしてみてはどうでしょうか?
これは計算手順なのでしょうか、、、?
それをうまくコードにできなくて質問させていただいているのですが。
> それをうまくコードにできなくて質問させていただいているのですが。
「それ」が(計算手順の)どの箇所のことで「うまくコードにできなくて」がどのようにできないのか分かるようにすると回答がつきやすくなるかと思いました。ですが既に回答が1件ついていますのでそちらの方法を試していただければそれで解決するかもしれませんね。
回答2件
あなたの回答
tips
プレビュー