質問編集履歴

3

追記

2020/03/28 09:48

投稿

yuudai
yuudai

スコア65

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,8 @@
7
7
  追記
8
8
 
9
9
  globを使うことで少ないコードでファイルを処理することができると教えていただいたのですが、元々5つのファイルを手直しした後にそのファイルをfor文の中で並行的に処理をしようとしていたのでglobだとそれができなくて困っています。
10
+
11
+ globを使いつつ#make dataの処理を可能にする方法があるかもしれませんが私にはわかりません。
10
12
 
11
13
  最終的には5つのファイルのデータを使って新しいデータフレームを作りたいです。その過程で同じ文章を何回も書くのは効率が悪いと思い質問しています。
12
14
 

2

追記

2020/03/28 09:48

投稿

yuudai
yuudai

スコア65

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,15 @@
4
4
 
5
5
  複数のcsvファイルに対して同じ処理をしたいのです。今はファイルの数が少ないから同じ処理を何回も書けば良いですが、ファイルの数が増えてくるとそういうわけにもいかないので。
6
6
 
7
+ 追記
7
8
 
9
+ globを使うことで少ないコードでファイルを処理することができると教えていただいたのですが、元々5つのファイルを手直しした後にそのファイルをfor文の中で並行的に処理をしようとしていたのでglobだとそれができなくて困っています。
10
+
11
+ 最終的には5つのファイルのデータを使って新しいデータフレームを作りたいです。その過程で同じ文章を何回も書くのは効率が悪いと思い質問しています。
12
+
13
+ importから#drop index0までの処理をfor文か何かで回して処理できそうだと考えていますがわかりません。根本的な考え方が間違っているかもしれません。
14
+
15
+ 回答お待ちしております。
8
16
 
9
17
 
10
18
 
@@ -60,6 +68,88 @@
60
68
 
61
69
 
62
70
 
71
+ #drop index0
72
+
73
+ Nikkei_1 = rename_nikkei_1.drop(0)
74
+
75
+ Nikkei_2 = rename_nikkei_2.drop(0)
76
+
77
+ Nikkei_3 = rename_nikkei_3.drop(0)
78
+
79
+ Nikkei_4 = rename_nikkei_4.drop(0)
80
+
81
+ Nikkei_5 = rename_nikkei_5.drop(0)
82
+
83
+
84
+
85
+ #最終結果用のデータフレームを作っておく
86
+
87
+ nikkei_data = pd.DataFrame(index=[], columns=['time','rise_probability','movement_mean'])
88
+
89
+ from statistics import mean
90
+
91
+
92
+
93
+ #make data
94
+
95
+ for i in range(1,22):
96
+
97
+ rise = 0
98
+
99
+ #iには数字が入っていて、その数字を行番号としてNikkei_1~5を行と列指定してcandle=close-openして5個の平均値の列を作る
100
+
101
+ for i in range(1,22):
102
+
103
+ rise = 0
104
+
105
+
106
+
107
+ Nikkei_1_candle = int(Nikkei_1.iat[i,4]) - int(Nikkei_1.iat[i,1])
108
+
109
+ if Nikkei_1_candle > 0:
110
+
111
+ rise += 1
112
+
113
+ Nikkei_2_candle = int(Nikkei_2.iat[i,4]) - int(Nikkei_2.iat[i,1])
114
+
115
+ if Nikkei_2_candle > 0:
116
+
117
+ rise += 1
118
+
119
+ Nikkei_3_candle = int(Nikkei_3.iat[i,4]) - int(Nikkei_3.iat[i,1])
120
+
121
+ if Nikkei_3_candle > 0:
122
+
123
+ rise += 1
124
+
125
+ Nikkei_4_candle = int(Nikkei_4.iat[i,4]) - int(Nikkei_4.iat[i,1])
126
+
127
+ if Nikkei_4_candle > 0:
128
+
129
+ rise += 1
130
+
131
+ Nikkei_5_candle = int(Nikkei_5.iat[i,4]) - int(Nikkei_5.iat[i,1])
132
+
133
+ if Nikkei_5_candle > 0:
134
+
135
+ rise += 1
136
+
137
+
138
+
139
+ rise_probability = rise / 5
140
+
141
+ heikin = [Nikkei_1_candle,Nikkei_2_candle,Nikkei_3_candle,Nikkei_4_candle,Nikkei_5_candle]
142
+
143
+ nikkei_candle_mean = mean(heikin)
144
+
145
+ time = Nikkei_1.iat[i,0]
146
+
147
+
148
+
149
+ series = pd.Series([time, rise_probability, nikkei_candle_mean], index=nikkei_data.columns)
150
+
151
+ nikkei_data = nikkei_data.append(series, ignore_index = True)
152
+
63
153
  ```
64
154
 
65
155
 

1

修正

2020/03/28 09:45

投稿

yuudai
yuudai

スコア65

test CHANGED
File without changes
test CHANGED
@@ -4,19 +4,7 @@
4
4
 
5
5
  複数のcsvファイルに対して同じ処理をしたいのです。今はファイルの数が少ないから同じ処理を何回も書けば良いですが、ファイルの数が増えてくるとそういうわけにもいかないので。
6
6
 
7
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
8
7
 
9
-
10
-
11
- ### 発生している問題・エラーメッセージ
12
-
13
-
14
-
15
- ```
16
-
17
- エラーメッセージ
18
-
19
- ```
20
8
 
21
9
 
22
10