回答編集履歴

1

2018/10/09 10:43

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- 1. numpy.loadtxt() で csv を読み込む。
5
+ 1. numpy.loadtxt() で txt を読み込む。
6
6
 
7
- 2. reshape() する。例えば、999 行の csv だった場合、333行3列になる。
7
+ 2. reshape() する。例えば、999 行の txt だった場合、333行3列になる。
8
8
 
9
9
  3. numpy.savetxt() で保存する。
10
10
 
11
11
 
12
+
13
+ 元のテキストファイルが3で割り切れない場合の仕様が明確でなかったため、とりあえず0を足して3で割り切れるように調整しています。
12
14
 
13
15
 
14
16
 
@@ -16,7 +18,17 @@
16
18
 
17
19
  # 読み込む。
18
20
 
19
- data = np.loadtxt('sample.csv')
21
+ data = np.loadtxt('sample.txt', dtype=int)
22
+
23
+ print(data.shape)
24
+
25
+
26
+
27
+ # もし3で割り切れない場合は0埋め
28
+
29
+ if data.size % 3 != 0:
30
+
31
+ data = np.append(data, [0] * (3 - data.size % 3))
20
32
 
21
33
  print(data.shape)
22
34
 
@@ -24,8 +36,62 @@
24
36
 
25
37
  data = data.reshape(-1, 3)
26
38
 
27
- np.savetxt('sample_reshape.csv', data, fmt='%d') # fmt で数値のフォーマット指定
39
+ np.savetxt('sample_reshape.csv', data, delimiter=" ", fmt='%d')
28
-
29
- # np.savetxt('sample.csv', a, fmt='%.2f') # 浮動小数点2桁
30
40
 
31
41
  ```
42
+
43
+
44
+
45
+ 入力
46
+
47
+ ```
48
+
49
+ 0
50
+
51
+ 1
52
+
53
+ 2
54
+
55
+ 3
56
+
57
+ 4
58
+
59
+ 5
60
+
61
+ 6
62
+
63
+ 7
64
+
65
+ 8
66
+
67
+ 9
68
+
69
+ ...省略
70
+
71
+ ```
72
+
73
+
74
+
75
+ 出力
76
+
77
+ ```
78
+
79
+ 0 1 2
80
+
81
+ 3 4 5
82
+
83
+ 6 7 8
84
+
85
+ 9 10 11
86
+
87
+ 12 13 14
88
+
89
+ 15 16 17
90
+
91
+ 18 19 20
92
+
93
+ 21 22 23
94
+
95
+ ...省略
96
+
97
+ ```