【发布时间】:2021-01-13 08:38:16
【问题描述】:
在以下代码中,我测试了使用 numpy.prod 和 numpy.sum 数学运算符对一系列数字求幂的可行性。
import numpy as np
np.prod((1,2))**5 #(1*2)**5
np.sum((1,2)**5) #(1**5 + 2**5)
第一个操作正常,但第二个不行:
TypeError: unsupported operand type(s) for ** or pow(): 'tuple' and 'int'
【问题讨论】:
-
好吧,你不能在
tuple上使用权力。 -
第一个操作将元组转换为一个 numpy 数组,然后应用一个幂。第二个操作只是试图对一个元组应用一个幂。您必须先将其转换为 numpy 数组。
np.power会自动为您执行此操作。否则,您可以显式使用np.array进行数据类型转换。
标签: python numpy math sum series