すみません、まったく初心者なので、一部でも答えていただければ嬉しいです。
phython3でanacondaのジュピターノートver6.02を使い実装をしております。
(If for文の扱いも調べてもうまく実装できないです。)
前提・実現したいこと
1日付と「時間、分」が記述しているデータがあります。
0 20200316 17:01:00 52.78 52.84 52.78 52.80 41
1 20200316 17:02:00 52.81 52.81 52.80 52.80 3
2 20200317 17:16:00 52.59 52.59 52.59 52.59 4
3 20200317 17:17:00 52.49 52.58 52.39 52.58 7
2一行下の行が1分差の場合、そのまま別ファイルに記述
0 20200316 17:01:00 52.78 52.84 52.78 52.80 41
1 20200316 17:02:00 52.81 52.81 52.80 52.80 3
2 20200317 17:16:00 52.59 52.59 52.59 52.59 4
3 20200317 17:17:00 52.49 52.58 52.39 52.58 7
↓
0 20200316 17:01:00 52.78 52.84 52.78 52.80 41
1 20200316 17:02:00 52.81 52.81 52.80 52.80 3
③1行下の行が1分差以上開いている場合、一分後の行をデータをコピーして追加
0 20200316 17:01:00 52.78 52.84 52.78 52.80 41
1 20200316 17:02:00 52.81 52.81 52.80 52.80 3
2 20200317 17:16:00 52.59 52.59 52.59 52.59 4
3 20200317 17:17:00 52.49 52.58 52.39 52.58 7
↓
0 20200316 17:01:00 52.78 52.84 52.78 52.80 41
1 20200316 17:02:00 52.81 52.81 52.80 52.80 3
2 20200316 17:03:00 52.81 52.81 52.80 52.80 3
3 20200316 17:03:00 52.81 52.81 52.80 52.80 3
…
… 20200317 17:16:00 52.59 52.59 52.59 52.59 4
20200317 17:17:00 52.49 52.58 52.39 52.58 7
エラーメッセージ
疑問1
print(dfraw.diff(axis=1))
で分の差分を出そうとしてもNanになります。
以下のコードなら秒数の差が出せますが、上行の差分を一つ一つ計算していく方法がわかりません。
import pandas as pd
dfraw = pd.read_csv('vxx__STK__1_min_TRADES.csv')
import datetime
dt1 = datetime.datetime.strptime('17:00:00', '%H:%M:%S')
input_time1 = dt1.time()
dt2 = datetime.datetime.strptime('17:01:00', '%H:%M:%S')
input_time2 = dt2.time()
print( (dt2-dt1).total_seconds())
疑問2
上が解決すれば、時間の差が出るのですが、それの条件で処理の違いをする
if for文の実装の仕方がわかりません。
疑問3
上の行と一分の差がでていたら、時間を足すというはできそうですが、
23:59分に一分足すと日付が一つ増える処理をどうすべきかわかりません。
日数と時間の行が分かれているのです。
こんなこともわからずお手を煩わせて本当に恐縮ですがお教え願えると幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー