我想获得一组数组
的正切import numpy as np
import math
例如(这是一个数组)
x_value=[1 2 3 4 5 6]
a= abs(x_value-125)
这仍然可以正常工作,但是当我得到一个相反的反转:
b=math.atan(a)
我收到此错误:TypeError:只有length-1数组可以转换为Python标量
我怎样才能解决这个错误,我可以得到数组a的元素的正切?
答案 0 :(得分:3)
只需使用np.arctan
:
>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6])
>>> a = abs(a - 125) # could use np.abs. It does the same thing, but might be more clear that you expect to get an ndarray instance as a result.
>>> a
array([124, 123, 122, 121, 120, 119])
>>> np.arctan(a)
array([ 1.56273199, 1.56266642, 1.56259979, 1.56253205, 1.56246319,
1.56239316])
答案 1 :(得分:1)
您可以使用列表推导将atan
函数应用于数组的每个元素:
a = np.abs(np.array([1,2,3,4,5,6]) - 125)
b = [np.math.atan(x) for x in a]
答案 2 :(得分:0)
您可以使用列表理解:
b = [math.atan(ele) for ele in a]