(上記の議論に従ってこれを元に戻す...)
numpy の開発者がこれをバグまたは予想される動作と見なすかどうかはわかりません。私はメーリングリストで尋ねたので、彼らの言うことを見ると思います。
いずれにせよ、それは簡単な修正です。関数への入力ではなくnumpy/lib/function_base.py
使用するパッチを適用すると、コピーを作成せずに、マスクされた配列 (または ndarray の他のサブクラス) を適切に使用できるようになります。 numpy.asanyarray
numpy.asarray
編集:期待される動作のようです。 ここで説明したように:
マスクされたデータを無視したい場合は、余分な関数呼び出しだけです
ヒストグラム(m_arr.compressed())
ヒストグラム内で完全にマスクされた配列の処理ははるかに高価になると思うので、これが余分なコピーを作成するという事実は関係ないと思います。
asanyarray を使用すると、ヒストグラム計算で正しく処理されない可能性のある行列やその他のサブタイプも許可されます。
Bruce が指摘したように、マスクされた観測値を削除する以外に、ヒストグラムのマスクされた配列定義が何であるかを理解する必要があります。