質問編集履歴

2

追記

2020/09/20 03:13

投稿

666_paru
666_paru

スコア20

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,23 @@
87
87
  time=DF1["time"][idx:idx+1]
88
88
 
89
89
  rate = df[df.time == pd.to_datetime(time).strftime('%Y-%m-%d %H:%M:00.00')]["open"].values[0]
90
+
91
+
92
+
93
+ 再追記:
94
+
95
+ DF1tDF2では欠損の有無が違うため、インデックスは同じではないです。
96
+
97
+
98
+
99
+ 例えば、
100
+
101
+ DF1には、インデックス:10の2014年2月27日10:00のデータがあっても、
102
+
103
+ DF2では2014年2月27日10:00のデータを持っていないため、インデックス10は2014年2月27日10:15のデータである
104
+
105
+ ということがあります。
106
+
107
+
108
+
109
+ その為、DF1のインデックスからDF2の同じインデックスを検索できないです。

1

情報不足のため追記

2020/09/20 03:13

投稿

666_paru
666_paru

スコア20

test CHANGED
File without changes
test CHANGED
@@ -48,4 +48,42 @@
48
48
 
49
49
  お分かりの方お教えいただきたく思います。
50
50
 
51
- よろしくお願いいたします
51
+ よろしくお願いいたします
52
+
53
+
54
+
55
+
56
+
57
+ すみません。情報が不足していたため追記させて頂きます。
58
+
59
+ 追記:
60
+
61
+ FXのバックテストを作成しており、2つの同じ構成のDFがあり、
62
+
63
+ DF1の2014年2月27日14:00の時間から、DF2の2014年2月27日14:15のデータを取得しようとしています。
64
+
65
+
66
+
67
+ timeに格納しているのは、以下のデータになります。
68
+
69
+ import dask.dataframe as dd
70
+
71
+ import pandas as pd
72
+
73
+
74
+
75
+ DF1 = dd.read_csv("DF1.csv", blocksize=None, encoding='UTF-8').compute()
76
+
77
+ DF1['time'] = pd.to_datetime(DF1['time'])
78
+
79
+ DF1 = DF1.set_index('time').resample(axis).agg(
80
+
81
+ {'open': 'first', 'high': 'max', 'low': 'min', 'close': 'last', 'volume': 'sum'}).reset_index()
82
+
83
+
84
+
85
+ for idx in range(DF1.shape[0])
86
+
87
+ time=DF1["time"][idx:idx+1]
88
+
89
+ rate = df[df.time == pd.to_datetime(time).strftime('%Y-%m-%d %H:%M:00.00')]["open"].values[0]