pythonで株価データを取得しましたが、画像のように欠損値があります。この欠損値を前日の値と同じにしたいです。
色々と探したのですが、方法をみつけられませんでした
python
1コード 2!pip install yfinance fredapi 3 4import sys 5import datetime as dt 6from pandas.tseries.offsets import BDay 7 8import numpy as np 9import pandas as pd 10 11import yfinance as yf 12from fredapi import Fred 13 14import matplotlib.pyplot as plt 15import seaborn as sns; sns.set() 16 17def get_stock_price(symbol_list, date_range): 18 19 df_all = pd.DataFrame() 20 21 for symbol in symbol_list: 22 print('取得中: ' + symbol) 23 df = yf.download( 24 tickers=symbol, 25 start=dt.datetime.strftime(date_range[0], '%Y-%m-%d'), 26 end=dt.datetime.strftime(date_range[1], '%Y-%m-%d')) 27 df.index = pd.to_datetime(df.index) 28 df_all = pd.concat( 29 [df_all, df.rename( 30 columns={'Adj Close': symbol}).loc[:, symbol]], 31 axis='columns', sort=False) 32 33 return df_all 34 35date_range = (dt.date(2016, 12, 30), dt.date(2022, 3, 28)) 36 37symbol_list_JP = ['8103.T', '1852.T', '2972.T', '4246.T', '5208.T'] 38symbol_list_US = ['AAPL', 'BA', 'DIS', 'GS', 'KO', 'XOM'] 39 40BM_list_JP = ['1306.T', '^N225'] 41BM_list_US = ['QQQ', 'SPY'] 42 43stock_price_JP = get_stock_price(symbol_list_JP, date_range).fillna(method='ffill').dropna() 44stock_price_US = get_stock_price(symbol_list_US, date_range).fillna(method='ffill').dropna() 45 46BM_price_JP = get_stock_price(BM_list_JP, date_range).fillna(method='ffill').dropna() 47BM_price_US = get_stock_price(BM_list_US, date_range).fillna(method='ffill').dropna() 48 49# stock_priceとBM_priceの日付の共通部分をとる 50date_range_JP = sorted(list(set(stock_price_JP.index) & set(BM_price_JP.index))) 51date_range_US = sorted(list(set(stock_price_US.index) & set(BM_price_US.index))) 52stock_price_JP = stock_price_JP.reindex(date_range_JP) 53stock_price_US = stock_price_US.reindex(date_range_US) 54BM_price_JP = BM_price_JP.reindex(date_range_JP) 55BM_price_US = BM_price_US.reindex(date_range_US) 56 57#各データを一括でCSVに落とす 58all_stock = pd.concat([stock_price_JP,BM_price_JP, stock_price_US,BM_price_US],axis=1) 59all_stock.to_csv('all2.csv')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/03 04:28