5

tl;dr:実際に配列を追加することなく、複数の配列にまたがる numpy ブロードキャストによって返される形状を予測するにはどうすればよいですか?

基本的に 1D 入力が多次元出力になるように、numpy (Python) ブロードキャスト ルールを利用するスクリプトがたくさんあります。基本的な例として、理想気体の法則 (圧力 = rho * R_d * 温度) は次のようになります。

def rhoIdeal(pressure,temperature):
    rho = np.zeros_like(pressure + temperature)
    rho += pressure / (287.05 * temperature)
    return rho

ここでは必要ありませんが、より複雑な関数では、正しい形状で配列を初期化すると非常に便利です。圧力と温度が同じ形状の場合、rho もその形状になります。圧力の形が (n,) で温度の形が (m,) なら、

rhoIdeal(pressure[:,np.newaxis], temperature[np.newaxis,:])

形状 (n,m) の rho を取得します。rhoIdealこれにより、スクリプトが同じ形状の配列を受け入れ、要素ごとに結果を計算できるようにしながら、をループすることなく温度の複数の値でプロットを作成できます。

私の質問は: 複数の入力と互換性のある形状を返す組み込み関数はありますか? 次のように動作するもの

def returnShape(list_of_arrays):
    return np.zeros_like(sum(list_of_arrays)).shape

実際に配列を合計する必要はありませんか?組み込み関数がない場合、適切な実装はどのようになりますか?

4

1 に答える 1