1. ホーム
  2. python

[解決済み] Numpy、配列にスカラーを乗せる [重複]。

2022-03-02 10:23:23

質問

ufuncsを使用することは可能ですか? https://docs.scipy.org/doc/numpy/reference/ufuncs.html
関数を配列(1次元および/または2次元)およびスカラーに対応させるために
もしそうでなければ、これを達成するための私の方法は何でしょうか?
例えば

a_1 = np.array([1.0, 2.0, 3.0])
a_2 = np.array([[1., 2.], [3., 4.]])
b = 2.0  

期待される結果

a_1 * b = array([2.0, 4.0, 6.0]);  
a_2 * b = array([[2., 4.], [6., 8.]])

私はpython 2.7を使用しています。

解決方法は?

numpyの配列とスカラーを掛け合わせると、そのまま動きます。

>>> import numpy as np
>>> np.array([1, 2, 3]) * 2
array([2, 4, 6])
>>> np.array([[1, 2, 3], [4, 5, 6]]) * 2
array([[ 2,  4,  6],
       [ 8, 10, 12]])

また、この操作は非常に高速で効率的です。あなたの例で

>>> a_1 = np.array([1.0, 2.0, 3.0])
>>> a_2 = np.array([[1., 2.], [3., 4.]])
>>> b = 2.0
>>> a_1 * b
array([2., 4., 6.])
>>> a_2 * b
array([[2., 4.],
       [6., 8.]])