开发者社区> 问答> 正文

TypeError:尝试以指数形式拟合数据时,只能将长度为1的数组转换为Python标量

f=np.loadtxt('Single Small Angle 1.txt',unpack=True,skiprows=2) g=np.loadtxt('Single Small Angle 5.txt',unpack=True,skiprows=2)

x = f-g[:,:11944] t=range(len(x)) m=math.log10(abs(x))

np.polyfit(t,m)

plt.plot(t,abs(x)) plt.show() 我只是不确定如何解决我的问题。它一直在说:

m=math.log10(abs(x)) TypeError: only length-1 arrays can be converted to Python scalars 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:09:55 662 0
1 条回答
写回答
取消 提交回答
  • 像非numpy的功能math.abs()或math.log10()不numpy的阵列发挥很好。只需将引发错误的行替换为:

    m = np.log10(np.abs(x)) 除此之外,该np.polyfit()调用将因缺少参数而无法工作(无论如何您都不会分配结果以供进一步使用)。

    2020-02-08 20:10:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载