我有,類型錯誤:爲+不受支持的操作數類型:「時間戳」和「浮動」
x = [2017-06-07, 2017-07-19]
y = [155.98, 151.42]
我想畫一條直線,並找到y軸截距(第三點)。 現在我正在使用多項式擬合法繪製一條線。
x = [2017-06-07, 2017-07-19]
y = [155.98, 151.42]
coefficients = np.polyfit(x, y, 1)
polynomial = np.poly1d(coefficients)
x_axis = np.linspace(2017-06-07, 2017-07-19 + 42 ,3) #linspace(start, end, num)
y_axis = polynomial(x_axis)
3rd_y_intercept = y_axis[2]
plt.plot(x_axis, y_axis)
plt.plot(x[0], y[0], 'go')
plt.plot(x[1], y[1], 'go')
plt.show()
但我得到的錯誤:
Traceback (most recent call last):
File "D:/Coding/Line.py", line3, in
coefficients = np.polyfit(x, y, 1)
File "C:\Users\Arjun\Anaconda3\lib\site-packages\numpy\lib\polynomial.py", line 546, in polyfit x = NX.asarray(x) + 0.0
TypeError: unsupported operand type(s) for +: 'Timestamp' and 'float' But i dont know how to convert Index of type Timestamp to use it in polynomial.
注:的X座標是從數據幀的指數衍生。並使用日期時間模塊。 請大家幫忙,準備用不同的方法來代替多項式擬合。
'x = [2017-06-07 00:00:00,2017-07-19 00:00:00]'會拋出SyntaxError:無效的語法。 –
@OwlMax我有工作代碼,我只是在這裏粘貼,以更簡單的形式更容易理解。 – BlueQuant
請提供最低工作示例。否則沒人能幫忙。刪除沒有必要回答您的問題的所有內容,例如只保留添加內容和Timestamp對象。試着解釋爲什麼你需要首先做一個補充。那麼我相信你會有正確和有用的答案。 –