こんにちは、
日経225先物の1分足4本値を記録した以下のようなカンマ区切りのcsvデータN225ftM1m.csvがあります。
TradeDate,IntervalTime,Open,High,Low,Close,TradeVolume,ContractMonth
20210104,940,24700,24700,24700,24700,1,202512
20210104,1630,27525,27550,27525,27540,108,202101
20210104,1631,27535,27540,27530,27530,144,202101
...
ここから、チャートソフトのインプットとなる5分足、30分足、1時間足のcsvデータを作成するため、次の3つの行を追加しようとしていますが、うまくいきません。
1.resampleを使って5分足、30分足、1時間足を作成するIndexとするため、['TradeDate']と['IntervalTime']を結合させて"YYYY/MM/DD HH:MM"形式の['日付']行を追加
2.チャートソフトの仕様に合わせcsv出力するため、日付['TradeDate']から"YYYY/MM/DD"形式の['YMD']行、時間['IntervalTime']から"HH:MM"形式の['HM']行を追加
ちなみに
python
1print(df['TradeDate'].dtype) 2print(df['IntervalTime'].dtype) 3```はいずれもint64となります。 4 5以下分かる範囲で試してみた結果です。 6前述2について、 7```python 8import pandas as pd 9from datetime import date, timedelta, datetime 10 11df = pd.read_csv(r"C:...\N225ftM1m.csv", sep=",") 12df['YMD'] = pd.to_datetime(df['TradeDate'].astype(str)) 13print(df['YMD']) 14```とすると、 150 2021-01-04 161 2021-01-04 17 ... 18548982 2021-07-30 19548983 2021-07-30 20 21と日付にはなりますが、これを"YYYY/MM/DD"にする方法が分かりません。 22```python 23df['HM'] = pd.to_datetime(df['IntervalTime'].astype(str)) 24```はエラー"ValueError: Given date string not likely a datetime."となります。 25 261については残念ながらお手上げ状態です。 27 28ご教授いただければ幸いです。 29よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/18 07:44 編集