質問編集履歴
3
細かな修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -122,7 +122,7 @@
|
|
122
122
|
|
123
123
|
```
|
124
124
|
|
125
|
-
本当は、matrix1は以下のようになってほしいです。(matrix2で0が入っている箇所に対応するところを取ってきて、その
|
125
|
+
本当は、matrix1は以下のようになってほしいです。(matrix2で0が入っている箇所に対応するところを取ってきて1次元リストを作ったとき、そのリストの(0-indexで)3,6,9番目に対応する要素にそれぞれ2,4,6を代入する)
|
126
126
|
|
127
127
|
```
|
128
128
|
|
2
例の修正、理想の出力と実際の出力を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
##### 前提
|
8
8
|
|
9
|
-
まず以下のようなmatrix1, matrix2, list1を準備します。
|
9
|
+
まず以下のようなmatrix1, matrix2, list1, list2を準備します。
|
10
10
|
|
11
11
|
```
|
12
12
|
|
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
>>> list1 = np.array([
|
27
|
+
>>> list1 = np.array([3,6,9])
|
28
28
|
|
29
|
-
>>> list2 = np.array([2,
|
29
|
+
>>> list2 = np.array([2,4,6])
|
30
30
|
|
31
31
|
```
|
32
32
|
|
@@ -66,7 +66,13 @@
|
|
66
66
|
|
67
67
|
>>> list1
|
68
68
|
|
69
|
+
array([3, 6, 9])
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
>>> list2
|
74
|
+
|
69
|
-
array([
|
75
|
+
array([2, 4, 6])
|
70
76
|
|
71
77
|
```
|
72
78
|
|
@@ -74,7 +80,7 @@
|
|
74
80
|
|
75
81
|
##### やりたいこと
|
76
82
|
|
77
|
-
matrix1の要素にlist2で指定した数字(2,
|
83
|
+
matrix1の要素にlist2で指定した数字(2,4,6)を1か所ずつ代入したいです。この時に、代入する場所は、
|
78
84
|
|
79
85
|
```
|
80
86
|
|
@@ -86,7 +92,7 @@
|
|
86
92
|
|
87
93
|
|
88
94
|
|
89
|
-
##### 問題
|
95
|
+
##### 起こっている問題
|
90
96
|
|
91
97
|
上記の内容を以下のように実装し、代入操作を行っても、値が変化しません。
|
92
98
|
|
@@ -102,20 +108,56 @@
|
|
102
108
|
|
103
109
|
>>> list2
|
104
110
|
|
105
|
-
array([2,
|
111
|
+
array([2, 4, 6])
|
106
112
|
|
107
113
|
|
108
114
|
|
109
|
-
>>> matrix1[matrix2==0][list1] = list2 # 代入をするけど
|
115
|
+
>>> matrix1[matrix2==0][list1] = list2 # 代入をするけど・・・
|
110
116
|
|
111
117
|
|
112
118
|
|
113
119
|
>>> matrix1[matrix2==0][list1]
|
114
120
|
|
115
|
-
array([0., 0., 0.]) # 変化しない。(本来は array([2.,
|
121
|
+
array([0., 0., 0.]) # 変化しない。(本来は array([2., 4., 6.])となってほしい)
|
122
|
+
|
123
|
+
```
|
124
|
+
|
125
|
+
本当は、matrix1は以下のようになってほしいです。(matrix2で0が入っている箇所に対応するところを取ってきて、そのうち(0-indexで)3,6,9番目の要素にそれぞれ2,4,6を代入する)
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
>>> matrix1 # 理想の出力
|
130
|
+
|
131
|
+
array([[0., 0., 0., 2., 0.],
|
132
|
+
|
133
|
+
[0., 4., 0., 0., 0.],
|
134
|
+
|
135
|
+
[0., 0., 0., 0., 0.],
|
136
|
+
|
137
|
+
[6., 0., 0., 0., 0.],
|
138
|
+
|
139
|
+
[0., 0., 0., 0., 0.]])
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
>>> matrix1 # 実際の出力
|
144
|
+
|
145
|
+
array([[0., 0., 0., 0., 0.],
|
146
|
+
|
147
|
+
[0., 0., 0., 0., 0.],
|
148
|
+
|
149
|
+
[0., 0., 0., 0., 0.],
|
150
|
+
|
151
|
+
[0., 0., 0., 0., 0.],
|
152
|
+
|
153
|
+
[0., 0., 0., 0., 0.]])
|
116
154
|
|
117
155
|
```
|
118
156
|
|
119
157
|
|
120
158
|
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
121
163
|
なぜうまく代入されないのか、どうしたらうまく代入されるのかについて、どちらかでもわかる方いらっしゃったら教えてほしいです。
|
1
タイトルを修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ブールインデックス参照+ファンシーインデックスによる代入ができない
|
1
|
+
numpy ブールインデックス参照+ファンシーインデックスによる代入ができない
|
test
CHANGED
File without changes
|