質問編集履歴
5
CSVデータ部分の表記修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,15 +12,15 @@
|
|
12
12
|
|
13
13
|
# 2つのCSVデータ中身(例)
|
14
14
|
|
15
|
-
日時
|
15
|
+
日時,株価,始値,高値,安値,出来高,時価総額(百万円)
|
16
16
|
|
17
|
-
2019/8/29 15:00
|
17
|
+
2019/8/29 15:00,1383,1320,1399,1317,411900,22274
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
日時
|
21
|
+
日時,株価,始値,高値,安値,出来高,時価総額(百万円)
|
22
22
|
|
23
|
-
2019/8/30 15:00
|
23
|
+
2019/8/30 15:00,1361,1353,1368,1337,269100,21919
|
24
24
|
|
25
25
|
|
26
26
|
|
4
要望の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
したがって、**CSVを結合したことによって型が変わってしまったと考えられる**のですが、このようなケースで、'date'の型を上記のように求める型に戻す、もしくは求める型のまま結合するにはどのようにしたらいいでしょうか。
|
105
|
+
したがって、**CSVを結合したことによって型が変わってしまったと考えられる**のですが、このようなケースで、'date'の型を上記のように求める型に戻す、もしくは求める型のまま結合するにはどのようにしたらいいでしょうか。また、さらに、最終形態としては「2019/8/30 15:00」ではなく「2019/8/30」と時間を削除した形で表示できるようにしたいです。
|
106
106
|
|
107
107
|
|
108
108
|
|
3
不要部分の削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -33,8 +33,6 @@
|
|
33
33
|
import numpy as np
|
34
34
|
|
35
35
|
import glob
|
36
|
-
|
37
|
-
import sqlite3
|
38
36
|
|
39
37
|
|
40
38
|
|
2
CSVを読み込んだ処理(CSVの結合含む)を記載するあたって、内容の追加・変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,45 +8,69 @@
|
|
8
8
|
|
9
9
|
### 困っていること、及び該当のソースコード
|
10
10
|
|
11
|
+
```Python
|
12
|
+
|
13
|
+
# 2つのCSVデータ中身(例)
|
14
|
+
|
15
|
+
日時 株価 始値 高値 安値 出来高 時価総額(百万円)
|
16
|
+
|
17
|
+
2019/8/29 15:00 1383 1320 1399 1317 411900 22274
|
11
18
|
|
12
19
|
|
13
|
-
```Python
|
14
20
|
|
15
|
-
|
21
|
+
日時 株価 始値 高値 安値 出来高 時価総額(百万円)
|
16
22
|
|
17
|
-
|
23
|
+
2019/8/30 15:00 1361 1353 1368 1337 269100 21919
|
18
24
|
|
19
|
-
# 0 2019/08/26 15:00
|
20
25
|
|
21
|
-
# 1 2019/08/27 15:00
|
22
26
|
|
23
|
-
#
|
27
|
+
# 必要なライブラリをimport
|
24
28
|
|
25
|
-
|
29
|
+
import json,csv
|
26
30
|
|
27
|
-
|
31
|
+
import pandas as pd
|
28
32
|
|
33
|
+
import numpy as np
|
34
|
+
|
35
|
+
import glob
|
36
|
+
|
37
|
+
import sqlite3
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# 2つのCSVを結合
|
42
|
+
|
29
|
-
|
43
|
+
csv_files = glob.glob('*.csv')
|
44
|
+
|
45
|
+
list = []
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
for f in csv_files:
|
50
|
+
|
51
|
+
list.append(pd.read_csv(f, encoding='cp932'))
|
52
|
+
|
53
|
+
df = pd.concat(list)
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
dfs = df.rename(columns={'日時': 'date', '株価': 'close', '始値': 'open', '高値': 'high', '安値': 'low', '出来高': 'volume', '時価総額(百万円)': 'Market-cap'})
|
30
58
|
|
31
59
|
```
|
32
60
|
|
33
61
|
|
34
62
|
|
35
|
-
たとえばこのようなデータがあったとします。
|
36
|
-
|
37
|
-
|
63
|
+
このような形で作ったデータの型を見ると、以下のように表示されました。object型ではあるものの、要素は文字列str型ではない、とのこと。
|
38
|
-
|
39
|
-
|
40
64
|
|
41
65
|
```Python
|
42
66
|
|
43
|
-
print(df['date'].dtypes)
|
67
|
+
print(dfs['date'].dtypes)
|
44
68
|
|
45
69
|
# object
|
46
70
|
|
47
71
|
|
48
72
|
|
49
|
-
print(type(df['date'][0]))
|
73
|
+
print(type(dfs['date'][0]))
|
50
74
|
|
51
75
|
# <class 'pandas.core.series.Series'>
|
52
76
|
|
@@ -54,9 +78,7 @@
|
|
54
78
|
|
55
79
|
|
56
80
|
|
57
|
-
なので、以下のようにすると、
|
81
|
+
なので、以下のようにすると、以下のようなエラーメッセージが出てしまい、変換できませんでした。
|
58
|
-
|
59
|
-
|
60
82
|
|
61
83
|
```Python
|
62
84
|
|
@@ -70,7 +92,7 @@
|
|
70
92
|
|
71
93
|
|
72
94
|
|
73
|
-
|
95
|
+
ただし、確認したところ、1つのCSVデータ単体の'date'の型を見ると、以下のように変換する必要のない、求める型で存在していることが分かりました。
|
74
96
|
|
75
97
|
```Python
|
76
98
|
|
@@ -82,6 +104,8 @@
|
|
82
104
|
|
83
105
|
|
84
106
|
|
107
|
+
したがって、**CSVを結合したことによって型が変わってしまったと考えられる**のですが、このようなケースで、'date'の型を上記のように求める型に戻す、もしくは求める型のまま結合するにはどのようにしたらいいでしょうか。
|
108
|
+
|
85
109
|
|
86
110
|
|
87
111
|
以上、解決方法など、アドバイスいただけると助かります。よろしくお願いします。
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
### 困っていること、及び
|
9
|
+
### 困っていること、及び該当のソースコード
|
10
10
|
|
11
11
|
|
12
12
|
|
@@ -34,9 +34,7 @@
|
|
34
34
|
|
35
35
|
たとえばこのようなデータがあったとします。
|
36
36
|
|
37
|
-
手元のデータの型を見ると、以下のように表示されました。
|
38
|
-
|
39
|
-
object型ではあるものの、要素は文字列str型ではない、とのこと。
|
37
|
+
手元のデータの型を見ると、以下のように表示されました。object型ではあるものの、要素は文字列str型ではない、とのこと。
|
40
38
|
|
41
39
|
|
42
40
|
|
@@ -56,9 +54,7 @@
|
|
56
54
|
|
57
55
|
|
58
56
|
|
59
|
-
なので、以下のようにすると、当然ではありますが、
|
60
|
-
|
61
|
-
以下のようなエラーメッセージが出てしまい、変換できませんでした。
|
57
|
+
なので、以下のようにすると、当然ではありますが、以下のようなエラーメッセージが出てしまい、変換できませんでした。
|
62
58
|
|
63
59
|
|
64
60
|
|
@@ -74,9 +70,7 @@
|
|
74
70
|
|
75
71
|
|
76
72
|
|
77
|
-
object型ではあるものの、要素は文字列str型ではないものを、
|
78
|
-
|
79
|
-
最終的には以下のような型として日付データに変換するには、どのようにしたらいいでしょうか。
|
73
|
+
object型ではあるものの、要素は文字列str型ではないものを、最終的には以下のような型として日付データに変換するには、どのようにしたらいいでしょうか。
|
80
74
|
|
81
75
|
```Python
|
82
76
|
|