我得到了一个TypeError:只有length-1数组可以转换为Python标量

时间:2017-02-21 12:13:37

标签: numpy typeerror

我收到以下错误消息。我在Stack Overflow上发现了一些问题,我尝试了他们的解决方案但是没有用。

import numpy as np

R=0.9999 #Reflectivity

a=np.arange(0,100000,1,dtype=np.complex)
b=R**(a)
c=np.exp(np.complex(0,a))

错误:

  

C = np.exp(np.complex(0,a))的

     

TypeError:只能将length-1数组转换为Python标量

1 个答案:

答案 0 :(得分:0)

错误发生在np.complex(0,a)中。它并不期望' a'成为一个阵列。与:比较:

c = np.exp(np.complex(0,a[0])). 

由于a已经是一个复数的数组,你不能直接计算它吗? (虽然这会导致inf + 0.j给定指数的大小)

c = np.exp(a)