質問編集履歴
2
題名の追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
N次元の配列を
|
1
|
+
N次元の配列を2次元配列として分割したい。(配列arr を 軸 i, j により分割する split(arr, i, j) のような関数を制作したい)
|
test
CHANGED
File without changes
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -48,60 +48,52 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
+
多次元の場合は
|
52
|
+
|
53
|
+
```python
|
54
|
+
|
51
|
-
|
55
|
+
A = np.arange(24).reshape(2,4,3)
|
56
|
+
|
57
|
+
# array([[[ 0, 1, 2],
|
58
|
+
|
59
|
+
# [ 3, 4, 5],
|
60
|
+
|
61
|
+
# [ 6, 7, 8],
|
62
|
+
|
63
|
+
# [ 9, 10, 11]],
|
64
|
+
|
65
|
+
#
|
66
|
+
|
67
|
+
# [[12, 13, 14],
|
68
|
+
|
69
|
+
# [15, 16, 17],
|
70
|
+
|
71
|
+
# [18, 19, 20],
|
72
|
+
|
73
|
+
# [21, 22, 23]]])
|
52
74
|
|
53
75
|
|
54
76
|
|
55
|
-
|
77
|
+
C = [A[i,:,:] for i in range(A.shape[0])]
|
56
78
|
|
57
|
-
|
79
|
+
# [array([[ 0, 1, 2],
|
58
80
|
|
59
|
-
[
|
81
|
+
# [ 3, 4, 5],
|
60
82
|
|
61
|
-
[
|
83
|
+
# [ 6, 7, 8],
|
62
84
|
|
63
|
-
|
85
|
+
# [ 9, 10, 11]]),
|
64
86
|
|
65
|
-
|
87
|
+
# array([[12, 13, 14],
|
66
88
|
|
89
|
+
# [15, 16, 17],
|
67
90
|
|
91
|
+
# [18, 19, 20],
|
68
92
|
|
69
|
-
[[12 13 14]
|
70
|
-
|
71
|
-
[15 16 17]
|
72
|
-
|
73
|
-
[18 19 20]
|
74
|
-
|
75
|
-
[21 22 23]]]
|
93
|
+
# [21, 22, 23]])]
|
76
94
|
|
77
95
|
|
78
96
|
|
79
97
|
```
|
80
98
|
|
81
|
-
の3次元配列から
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
```python
|
88
|
-
|
89
|
-
[array([[ 0 1 2]
|
90
|
-
|
91
|
-
[ 3 4 5]
|
92
|
-
|
93
|
-
[ 6 7 8]
|
94
|
-
|
95
|
-
[ 9 10 11]])
|
96
|
-
|
97
|
-
array([[12 13 14]
|
98
|
-
|
99
|
-
[15 16 17]
|
100
|
-
|
101
|
-
[18 19 20]
|
102
|
-
|
103
|
-
[21 22 23]])
|
104
|
-
|
105
|
-
```
|
106
|
-
|
107
|
-
のような
|
99
|
+
のように分割を行うことができますが、 A[i,:,:]とA.shape(0)の二つの情報の指定が2度手間であると感じられます。うまく対処する関数などありましたら教えていただけると幸いです。
|