Skip to main content
 首页 » 编程设计

python之Python 中的数学库和数组

2025年05月04日12jpfss

我要使用数学库对数组进行一些计算。
我试过这样的事情:

import numpy as np 
import math 
a = np.array([0, 1, 2, 3]) 
a1 = np.vectorize(a) 
print("sin(a) = \n", math.sin(a1))  

不幸的是,它不起作用。发生错误:"TypeError: must be real number, not vectorize"。

我怎样才能使用矢量化函数来计算这类东西?

请您参考如下方法:

整点numpy是你不需要任何 math 方法或任何列表理解:

>>> import numpy as np 
>>> a = np.array([0, 1, 2, 3]) 
>>> a + 1 
array([1, 2, 3, 4]) 
>>> np.sin(a) 
array([ 0.        ,  0.84147098,  0.90929743,  0.14112001]) 
>>> a ** 2 
array([0, 1, 4, 9]) 
>>> np.exp(a) 
array([  1.        ,   2.71828183,   7.3890561 ,  20.08553692]) 

您可以像使用标量一样使用a,并获得相应的数组。

如果你真的需要使用math.sin(提示:你不需要),你可以vectorize它(函数本身,而不是数组):

>>> vsin = np.vectorize(math.sin) 
>>> vsin(a) 
array([ 0.        ,  0.84147098,  0.90929743,  0.14112001])