TypeError:只有大小为1的数组可以转换为Python标量jupyter notebook

时间:2018-09-21 02:15:22

标签: python jupyter-notebook

当我尝试运行此代码时,我的python表示只能将size-1数组转换为python标量。

现在是我的输入:deltaDEC1deltaRA1Data_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的新手,所以我不知道如何解决此错误。

1 个答案:

答案 0 :(得分:0)

这是因为您无法对数据结构执行这些操作,但是Python会尝试执行尽可能多的操作(由于鸭子输入)。请参阅以下深入解答:TypeError: only length-1 arrays can be converted to Python scalars while trying to exponentially fit data

逐一测试代码的每个部分以查看错误所在(即每个括号部分)以查看错误发生的位置,也很有用。