python - Python 中的数学库和数组

标签 python arrays numpy math vectorization

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

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

关于python - Python 中的数学库和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46593021/

相关文章:

python - 提取字符串并将其从提取的列 pandas 中删除

javascript - 循环仅在添加 span 标记时显示数组中的最后一个字符串

c - 如何正确使用多维数组中的指针?

python - numpy 多维索引和对角线对称

python - 为什么原始 numpy 数组在更新其副本后也会更新?

python - 将 numpy.polyfit 应用于 xarray 数据集

python - 反序列化二叉搜索树

python - 从同步 View 调用的异步函数中的 Django 模型属性

python - 运行 Dlib 人脸检测时出现非法指令(核心转储)

php - 合并两个关联数组并按一级键分组