teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2017/06/11 02:23

投稿

退会済みユーザー
answer CHANGED
@@ -33,7 +33,7 @@
33
33
  (3番目は含まないという仕様になっています)
34
34
 
35
35
  ```python
36
- mport numpy as np
36
+ import numpy as np
37
37
 
38
38
  x = np.array([[1, 2, 3], [3, 2, 1], [2, 3, 1]])
39
39
 
@@ -47,4 +47,76 @@
47
47
 
48
48
  実行結果を見比べてみるとよくわかるかと思います
49
49
 
50
- ,の意味につきましてはただ単に区切りの意味を持っているだけかと
50
+ ,の意味につきましてはただ単に区切りの意味を持っているだけかと
51
+
52
+ 追記
53
+ ```python
54
+ import numpy as np
55
+
56
+ x = np.array([[1, 2, 3], [3, 2, 1], [2, 3, 1]])
57
+
58
+ print(x)
59
+ ```
60
+ 実行結果
61
+ [[1 2 3]
62
+ [3 2 1]
63
+ [2 3 1]]
64
+
65
+ 配列の並びはこんな感じになっています
66
+ ここで一行目というのは[123]、二行目は[321]、3行目は[231]と横方向の並びを示します
67
+ 一方、一列目というのは[132] 二列目は[223]、3列目は[311]と縦方向の並びを示します
68
+
69
+ ```ここに言語を入力
70
+     1 2 3
71
+ 列列列
72
+ 目目目
73
+ 一行目[[1 2 3]
74
+ 二行目 [3 2 1]
75
+ 三行目 [2 3 1]]
76
+ ```
77
+
78
+ これを踏まえてまずは2行目から3行目をスライスしてみます。
79
+ ご存知でしょうが、pythonは、0番目からインデックスの指定が始まりますので
80
+ 実際には、指定したい行数より1つ小さくなります
81
+
82
+ ```python
83
+ import numpy as np
84
+
85
+ x = np.array([[1, 2, 3], [3, 2, 1], [2, 3, 1]])
86
+
87
+ print(x[1:])
88
+ ```
89
+ [1:]は1番目(二行目)から、後ろを全て切り出すという事です
90
+
91
+ 実行結果
92
+ [[3 2 1]
93
+ [2 3 1]]
94
+
95
+ 望み通り二行目と三行目を切り出す事が出来ました。
96
+ では次にここから、一列目だけを切り出してみます
97
+
98
+ ```ここに言語を入力
99
+     1 2 3
100
+ 列列列
101
+ 目目目
102
+ 一行目 [3 2 1]
103
+ 二行目 [2 3 1]]
104
+ ```
105
+
106
+ ここでは、[32]が1列目という事になりますね
107
+
108
+ ```python
109
+ import numpy as np
110
+
111
+ x = np.array([[1, 2, 3], [3, 2, 1], [2, 3, 1]])
112
+
113
+ print(x[1:,0:1])
114
+ ```
115
+ 実行結果
116
+ [[3]
117
+ [2]]
118
+
119
+ 望み通り切り出せました。
120
+
121
+ [:,1:3]も同じ事です
122
+ [:]で全ての行を切り出した後、,で区切ってから、今度は[1:3]で1番目から2番目(2列目から3列目)の列を切り出すという事になります

1

追記

2017/06/11 02:23

投稿

退会済みユーザー
answer CHANGED
@@ -45,4 +45,6 @@
45
45
  [2 1]
46
46
  [3 1]]
47
47
 
48
- 実行結果を見比べてみるとよくわかるかと思います
48
+ 実行結果を見比べてみるとよくわかるかと思います
49
+
50
+ ,の意味につきましてはただ単に区切りの意味を持っているだけかと