前提・実現したいこと
http://www.algo-fx-blog.com/lstm-fx-predict/
こちらのサイトを参考に機械学習の勉強をしているのですが、途中でエラーが出て進めなくなりましたので、原因を教えていただけるとありがたいです。
(使用しているデータはAPIからではなく、Axioryのヒストリカルデータを加工して使用しています。)
CSVの内容=
date,time,open,high,low,close,volume
2021.02.01,00:00,143.568,143.572,143.568,143.572,2
2021.02.01,00:01,143.57,143.584,143.57,143.581,6
2021.02.01,00:02,143.586,143.62,143.586,143.62,3
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) /usr/local/lib/python3.7/dist-packages/pandas/core/ops/array_ops.py in na_arithmetic_op(left, right, op, is_cmp) 142 try: --> 143 result = expressions.evaluate(op, left, right) 144 except TypeError: 8 frames TypeError: unsupported operand type(s) for /: 'str' and 'str' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) /usr/local/lib/python3.7/dist-packages/pandas/core/ops/array_ops.py in masked_arith_op(x, y, op) 110 if mask.any(): 111 with np.errstate(all="ignore"): --> 112 result[mask] = op(xrav[mask], y) 113 114 result, _ = maybe_upcast_putmask(result, ~mask, np.nan) TypeError: unsupported operand type(s) for /: 'str' and 'str'
該当のソースコード
python
1import pandas as pd 2import numpy as np 3import seaborn as sns 4import matplotlib.pyplot as plt 5import configparser 6import datetime 7from datetime import datetime, timedelta 8 9#1分足CSVファイルのインポート Googleドライブからのみ可能 10import csv 11 12response = open('/content/drive/MyDrive/GBPJPY_2021_02.csv', encoding='utf8') 13csvreader = csv.DictReader(response) 14 15#for row in csvreader: 16# print(row) 17#------------------------------------------- 18# dictからDataFrameへ変換 19res = pd.DataFrame(csvreader) 20 21# CSVの中身を表示 22print(res) 23 24 25# 必要なデータへ切り分け(askのみ) 26df = res[['date', 'time', 'open', 'high', 'low',"close", 'volume']] 27 28# データフレームの399件〜410件を表示 29df[399:410] 30 31# 訓練とテストで日付区切る 32split_date = '2021.02.03' 33train, test = df[df['date'] < split_date], df[df['date']>=split_date] 34del train['time'] 35del test['time'] 36 37# 念のため確認 38train.shape, test.shape 39 40# windowを設定 41window_len = 10 42 43# LSTMへの入力用に処理(訓練) 44train_lstm_in = [] 45for i in range(len(train) - window_len): 46 temp = train[i:(i + window_len)].copy() 47 for col in train: 48 temp.loc[:, col] = temp[col] / temp[col].iloc[0] - 1 49 train_lstm_in.append(temp) 50lstm_train_out = (train['close'][window_len:].values / train['close'][:-window_len].values)-1 51 52 53 # LSTMへの入力用に処理(テスト) 54test_lstm_in = [] 55for i in range(len(test) - window_len): 56 temp = test[i:(i + window_len)].copy() 57 for col in test: 58 temp.loc[:, col] = temp[col] / temp[col].iloc[0] - 1 59 test_lstm_in.append(temp) 60lstm_test_out = (test['close'][window_len:].values / test['close'][:-window_len].values)-1 61 62 63 64# PandasのデータフレームからNumpy配列へ変換しましょう 65train_lstm_in = [np.array(train_lstm_input) for train_lstm_input in train_lstm_in] 66train_lstm_in = np.array(train_lstm_in) 67 68test_lstm_in = [np.array(test_lstm_input) for test_lstm_input in test_lstm_in] 69test_lstm_in = np.array(test_lstm_in) 70 71
試したこと
原因がつかめず、なにも試すことができませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/06 01:39
2021/03/06 01:41
2021/03/06 06:29
2021/03/06 09:02
2021/03/06 09:16
2021/03/06 12:13
2021/03/06 12:53