前提・実現したいこと
"9/20"のような月日のみのデータに、直近数ヶ月の日付をもとに年を追加したいです。
発生している問題・エラーメッセージ
print(df) 0 1900-09-24 1 1900-09-22 2 1900-09-21 3 1900-09-17 4 1900-09-16 ...
日経新聞のウェブサイトから株価の情報を取得するプログラムを書いています。
データを取得して、日付の部分から曜日を削除しました。
日付に年情報が含まれていないため正しい年情報を追記したいのですが、何をしたら良いのかわかりません。
該当のソースコード
python
1url = 'https://www.nikkei.com/nkd/company/history/dprice/?scode=1301&ba=1' 2 3data = pd.read_html(url) 4df = data[0] 5dff = df.set_axis(['date', 'open', 'high', 'low', 'close', 'volume', 'adj_close'], axis=1) 6dff['date'] = dff['date'].str.replace("([^\x01-\x7E])", '', regex=True) 7dff['date'] = pd.to_datetime(dff['date'], format='%m/%d') 8 9print(dff['date']) 10 110 1900-09-24 121 1900-09-22 132 1900-09-21 143 1900-09-17 154 1900-09-16 16...
試したこと
部分一致や後方一致で置換すれば良いかなと思い、とりあえず直近三ヶ月の日付データをリストに入れてみましたがこの先どうすれば良いのかわかりません。
そもそもこの方法で実現できるのか、他にもっと良い方法があるのではないかとも感じています。
python
1today = datetime.date.today() 2days = [today - datetime.timedelta(days=s) for s in range(90)]
いろいろ調べてはみましたが、いまいちよくわからないので質問させていただきました。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
python
jupyter notebook
docker
回答1件
あなたの回答
tips
プレビュー