类型错误:只有长度为1的阵列可以尝试拟合指数的数据转换到Python标量 [英] TypeError: only length-1 arrays can be converted to Python scalars while trying to exponentially fit data
本文介绍了类型错误:只有长度为1的阵列可以尝试拟合指数的数据转换到Python标量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
F = np.loadtxt('单小角度的1.txt,解包= TRUE,skiprows = 2)
G = np.loadtxt('单小角度5.txt,解包= TRUE,skiprows = 2)X = F-G [:,:11944]
T =范围(LEN(X))
M = math.log10(ABS(X))np.polyfit(T,M)plt.plot(T,ABS(X))
plt.show()
我只是不知道如何解决我的问题。它口口声声说:
M = math.log10(ABS(X))
类型错误:只有长度为1的阵列可以转换到Python标量
非numpy的功能()
像 math.abs
或解决方案 math.log10 ()
没有很好地与numpy的阵列玩。只需更换线路引发错误有:
M = np.log10(np.abs(X))
除此之外,在 np.polyfit()
,因为它缺少一个参数(并且没有分配的结果反正进一步使用)的调用将无法工作。
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()
I'm just not sure on how to fix my issue. It keeps saying:
m=math.log10(abs(x))
TypeError: only length-1 arrays can be converted to Python scalars
解决方案
Non-numpy functions like math.abs()
or math.log10()
don't play nicely with numpy arrays. Just replace the line raising an error with:
m = np.log10(np.abs(x))
Apart from that the np.polyfit()
call will not work because it is missing a parameter (and you are not assigning the result for further use anyway).
这篇关于类型错误:只有长度为1的阵列可以尝试拟合指数的数据转换到Python标量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文