(32, 1024) の形をした NumPyndarray
があり、32 個の信号測定値を保持します。これを 1024 要素の長い配列に結合し、32 個ごとに異なる重みを付けます。使用してnumpy.average
いましたが、重みは複雑で、average
私の結果を捨てる合計に基づいて重みの正規化を実行します。
平均のコードを見ると、重みに信号配列を掛けてから、最初の軸を合計することで同じことを達成できることがわかりました。ただし、(32,) 重み配列を (32, 1024) 信号配列で乗算しようとすると、(32,) を (32, 1024) にブロードキャストできないため、次元の不一致が発生します。weights 配列を (32, 1) に再形成すると、すべてが期待どおりに機能しますが、かなり醜いコードになります。
avg = (weights.reshape((32, 1)) * data).sum(axis=0)
NumPy が (32,) 配列を (32, 1024) にブロードキャストできない理由を説明したり、加重平均を実行する別のより適切な方法を提案したりできますか?