私はそのようになります簡単な関数があります:それは動作しますが、私は例numpyのアレイのために、配列とそれを使用する場合の問題が表示されPython:配列で使用する関数を書き直すには?
def summer_scalar(x):
a = np.array([1,2,3])
b = np.array([7,8,9])
return sum(a - b * x)
を。私はnumpyの配列を提出した場合、私はエラーを取得する:
summer_scalar(np.array([7,8,9,7]))
ValueError: operands could not be broadcast together with shapes (3,) (4,)
私は理由は、それがピアとしてすべての私の配列を扱いますが、そうでないということだと思います:引数の要素は、1の後に1つずつ処理し、出力アレイを形成する必要がありますaとbの引数は前と同じように処理する必要があります。したがって、サイズの異なる配列を合計しようとすると失敗します。
どうすればよいですか?この作品
def summer(x):
a = np.array([1,2,3])
b = np.array([7,8,9])
s = 0
for ai,bi in zip(a,b):
s = s + ai - bi* x
#print ai,bi,s
return s
:
私は私の方法を書き換えることができます。
質問があります:ベクタ操作のために私のメソッドを変更するより良い方法はありますか?