簡體   English   中英

如何解決“ float()參數必須是字符串或數字,而不是'Timestamp'”錯誤?

[英]How to fix “float() argument must be a string or a number, not 'Timestamp' ” error?

我正在編寫一些代碼,以使用機器學習和深度學習技術預測股市。 但是,當我嘗試使用線性回歸時,出現了我似乎無法修復的錯誤。 我的數據是某家公司的股票。 功能包括日期,未平倉,低價,最高價,收盤價,最后價,成交量和總交易量。

我已經在stackoverflow上查看了針對該問題的類似答案,但是他們使用的技術無法正常工作。

#setting index as date
df['Date'] = pd.to_datetime(df.Date,format='%Y-%m-%d')
df.index = df['Date']

#sorting
data = df.sort_index(ascending=True, axis=0)

#creating a separate dataset
new_data = pd.DataFrame(index=range(0,len(df)),columns=['Date', 
'Close'])

for i in range(0,len(data)):
    new_data['Date'][i] = data['Date'][i]
    new_data['Close'][i] = data['Close'][i]

#split into train and test data
train = df[:130]
test = df[130:]

x_train = train.drop('Close', axis=1)
y_train = train['Close']
x_test = test.drop('Close', axis=1)
y_test = test['Close']

#implement linear regression
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(x_train,y_train)

最后一行拋出此錯誤:

TypeError:float()參數必須是字符串或數字,而不是“ Timestamp”

數據幀df的索引設置為等於Date。 完成sort_index()步驟后,請嘗試將其刪除。

在sort_index步驟之后,執行以下操作:

df = df.reset_index(drop=True)

然后將df分為訓練測試,然后進行回歸步驟。 也許這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM