#日経平均株価の過去のCSVデータをとってくる import pandas as pd from io import StringIO #StringIOを使うと文字列をファイルのように扱える import urllib #urlを扱うモジュールを集めたパッケージ url = "https://indexes.nikkei.co.jp/nkave/historical/nikkei_stock_average_daily_jp.csv" def read_csv(url): res = urllib.request.urlopen(url) #URLをオープンする res = res.read().decode('shift_jis')#文字コードをshift_jis(日本語を表すために多く用いられていた文字コード)に変換する df = pd.read_csv(StringIO(res)) return df df = read_csv(url) #時系列データの主値に注目して予測。 #indexを日付にした後、時系列にしてください。 #カラムから'始値', '高値', '安値'を取り除いて、日付が古い順に並べ出力。 #df 行列データを取り扱うときは Pandas モジュールのデータフレーム型を利用すると便利である。 #各行ごとの平均や列名で列を抽出したりすることが簡単に行えるようになる #インデックスを日付にし、時系列にする df.dropna(inplace = True, axis=0) #inplace=Trueというのはrenameによる変更がdropの時のように一時的なものにならないようにするためのオプション df["データ日付"] = pd.to_datetime(df["データ日付"], format = '%Y/%m/%d') df = df.set_index('データ日付') df = df.drop(['始値','高値','安値'], axis = 1) df = df.iloc[::-1] df print(df) import pandas as pd # dfとdf_tweetsの二つのテーブルをNanを結合し、Nanを消去してください。 df_tweets = pd.read_csv('df_tweets.csv', index_col = 'date')#インデックスをdataに指定 table = df_tweets.join(df, how = 'right').dropna() #drop.naで欠損値を除外 # table.csvとして出力してください。 table.to_csv('table_csv') table #テクニカル分析を用いて株価の予測を行う #過去三日間の日経平均株価の時系列の変化とPN値の変化を特徴量にして次の日の株価の上下の予測 #訓練データとテストデータの二つに分け、訓練データを標準化したのち、訓練データの平均と分散を用いてテストデータの標準化 from sklearn.model_selection import train_test_sprit X = table.values[:, 0] y = table.values[:, 1] (X_train, X_test, y_train, y_test)=train_test_sprit(X,y,test_size=0.2, random_state =0) X_train_std = (X_train - X_train.mean()) / X_train.std() X_test_std = (X_test - X_train.mean()) / X_train.std() # df_trainというテーブルを作りそこにindexを日付、カラム名をpn値、終値にしてdf_train.csvという名前で出力 df_train = pd.DataFrame( {'pn':X_train_std, '終値':y_train}, colums=['pn','終値'], index = table.index[:len(X_train_std)]) df_train.to_csv('df_train.csv') # テストデータについても同様にdf_testというテーブルを作り、df_test.csvという名前で出力 df_test = pd.DataFrame( {'pn':X_test_std, '終値':y_test}, colums=['pn','終値'], index = table.index[len(X_train_std):]) df_test.csv('df_test.csv') コード
これに対するエラーが'DataFrame' object has no attribute 'csv'なのですがどこを変えれば良いのかわからず悩んでいます。ご教授お願いします。
回答1件
あなたの回答
tips
プレビュー