загрузка данных из файла
my_data=pd.read_excel('DailyVanSale.xlsx',delimiter=',')
преобразование в матричный формат
data=my_data.as_matrix()
productid=data[:10,1]
преобразование в тип с плавающей запятой
productid.astype('float')
sales=data[:10,7]
sales.astype('float')
print(type(sales))
print(type(productid))
Корреляция и регрессия
func=lambda m,x,c:float(m)*float(x)+float(c)
vf=sp.vectorize(func)
popt,pcov=spo.curve_fit(func,productid,sales)
Печать
yc=vf(popt[0],productid,popt[1])
Метка на графике
plt.plot(productid,sales,'r:o',label='observed')
plt.plot(productid,yc,'b-v',label='calculated')
легенда на графике
plt.legend(loc='best')
plt.show()
Журнал ошибок:
Traceback (most recent call last):
File "project.py", line 18, in <module>
popt,pcov=spo.curve_fit(func,productid,sales)
File "/opt/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.py", line 751, in curve_fit
res = leastsq(func, p0, Dfun=jac, full_output=1, **kwargs)
File "/opt/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.py", line 383, in leastsq
shape, dtype = _check_func('leastsq', 'func', func, x0, args, n)
File "/opt/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.py", line 27, in _check_func
res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
File "/opt/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.py", line 463, in func_wrapped
return func(xdata, *params) - ydata
File "project.py", line 16, in <lambda>
func=lambda m,x,c:float(m)*float(x)+float(c)
TypeError: only length-1 arrays can be converted to Python scalars