質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1809閲覧

python株価分析のデータの準備においてのエラー 'DataFrame' object has no attribute 'csv'

pirokuri

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/20 14:59

#日経平均株価の過去の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'なのですがどこを変えれば良いのかわからず悩んでいます。ご教授お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/09/20 16:02

エラーメッセージは全文掲載してください。
meg_

2020/09/20 16:04

質問のコードはどこかのサイトからの引用でしょうか?
hentaiman

2020/09/20 16:22

そこまでコード書いといてなんでそんなうっかりミスみたいなエラーが解決できずに質問にまで至ってしまうのかかなり謎・・・ 普通にコード見直せば良いと思いますよ
guest

回答1

0

ベストアンサー

コード末尾の1行を修正してください。

Diff

1-df_test.csv('df_test.csv') 2+df_test.to_csv('df_test.csv')

投稿2020/09/20 16:19

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問