当我尝试运行此代码时,我的python表示只能将size-1数组转换为python标量。
现在是我的输入:deltaDEC1
,deltaRA1
和Data_match['DEC_1']
所有数组都是1行1列。我想从中得到一个带有1行1列的数组。
r1 = math.sqrt(((deltaDEC1)**2)+((deltaRA1)**2)*((math.cos(Data_match['DEC_1']))**2))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-535-95d3dd661960> in <module>()
----> 1 r1 = math.sqrt(((deltaDEC1)**2)+((deltaRA1)**2)*((math.cos(Data_match['DEC_1']))**2))
TypeError: only size-1 arrays can be converted to Python scalars
我是python的新手,所以我不知道如何解决此错误。
答案 0 :(得分:0)
这是因为您无法对数据结构执行这些操作,但是Python会尝试执行尽可能多的操作(由于鸭子输入)。请参阅以下深入解答:TypeError: only length-1 arrays can be converted to Python scalars while trying to exponentially fit data
逐一测试代码的每个部分以查看错误所在(即每个括号部分)以查看错误发生的位置,也很有用。