Python Numpy,带标量的乘法数组

Python Numpy,带标量的乘法数组,python,python-2.7,numpy,numpy-ufunc,Python,Python 2.7,Numpy,Numpy Ufunc,是否可以使用ufuncs 为了将函数映射到数组(1D和/或2D)和标量 如果不是,我将如何实现这一目标? 例如: 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.]]) 如果Python2.7与某个问题相关,我会使用它。你可以用标量乘

是否可以使用ufuncs
为了将函数映射到数组(1D和/或2D)和标量
如果不是,我将如何实现这一目标?
例如:

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.]])

如果Python2.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.]])
使用(ufunc乘法


您使用了标记
numpy
,但您使用的是列表。使用numpy数组,它会工作只要转换成
np.array
np.array(a_1)*b
np.array(a_2)*b
它应该也适用于嵌套列表,如果它们不是锯齿状的(如您的示例中),这对任何ufunc都有效吗?我不确定您的意思,但可能会有所帮助。
a_1 = np.array([1.0, 2.0, 3.0])
a_2 = np.array([[1., 2.], [3., 4.]])
b = 2.0 

np.multiply(a_1,b)
# array([2., 4., 6.])
np.multiply(a_2,b)
# array([[2., 4.],[6., 8.]])