前提・実現したいこと
「Tensorflowではじめる株式投資のためのディープラーニング」という本で学んでいます。
株価データをKABU+からダウンロードし、データを結合したいのですが、エラーが解決できずに悩んでいます。データは下記のように置いています。
発生している問題・エラーメッセージ
ValueError Traceback (most recent call last) <ipython-input-3-cf0c4fc04483> in <module> 8 price_data.append(data_.assign(日時=timestamp)) 9 ---> 10 price_data = pd.concat(price_data).assign( 11 日時=lambda x: x['日時'].map( 12 lambda elm: pd.Timestamp(pd.to_datetime(elm).date()) # 時刻をすべて00:00:00に合わせる ~/venv/list/lib/python3.7/site-packages/pandas/core/reshape/concat.py in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 279 verify_integrity=verify_integrity, 280 copy=copy, --> 281 sort=sort, 282 ) 283 ~/venv/list/lib/python3.7/site-packages/pandas/core/reshape/concat.py in __init__(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort) 327 328 if len(objs) == 0: --> 329 raise ValueError("No objects to concatenate") 330 331 if keys is None: ValueError: No objects to concatenate
該当のソースコード
Python
1import re 2import pandas as pd 3from tqdm import tqdm_notebook as tqdm 4from os import path 5from pathlib import Path 6 7DATA_DIR = '/User/username/Stock_predict/download_data' # データをダウンロードしたフォルダ 8PRICE_DIR = path.join(DATA_DIR, 'japan-all-stock-prices') # 株価一覧表 9STOCK_DATA_DIR = path.join(DATA_DIR, 'japan-all-stock-data') # 投資指標データ 10FIN_RESULTS_DIR = path.join(DATA_DIR, 'japan-all-stock-financial-results') # 決算・財務・業績データ 11OUT_DIR = '/User/username/Stock_predict' # 結合したデータを保存するフォルダ 12 13 14price_data = [] 15file_list = list(Path(PRICE_DIR).glob('*.csv')) # PRICE_DIR以下にあるcsvファイルのパスをすべて取得する 16 17for file in tqdm(file_list): 18 data_ = pd.read_csv(f'file:{file}', encoding='sjis', na_values='-') 19 data_.columns = [column.strip() for column in data_.columns] # カラム名にスペースが混じることがあるので削除 20 timestamp = pd.Timestamp(re.findall(r'\d{8}', file.stem)[0]) # 日時はファイル名から取得 21 price_data.append(data_.assign(日時=timestamp)) 22 23price_data = pd.concat(price_data).assign( 24 日時=lambda x: x['日時'].map( 25 lambda elm: pd.Timestamp(pd.to_datetime(elm).date()) # 時刻をすべて00:00:00に合わせる 26 ) 27)
補足情報(FW/ツールのバージョンなど)
pandas==1.0.3 , tqdm==4.45.0, jupyterlab==2.1.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/09 11:03
2020/07/09 23:23
2020/07/10 05:06
2020/07/10 05:21
2020/07/10 11:56 編集
2020/07/10 05:49
2020/07/10 06:23
2020/07/10 06:55
2020/07/10 07:59
2020/07/10 08:06
2020/07/10 08:17
2020/07/10 11:55 編集
2020/07/10 13:36
2020/07/10 13:41
2020/07/10 13:50
2020/07/10 15:05
2020/07/11 03:59
2020/07/11 14:19