hayataka2049 score 29879
2018/11/18 11:50 投稿
これで良いのでは。 |
```python |
a[0,0] = a[1,1] = a[2,2] = 1000 |
``` |
ちょっと凝ってみると、こうした方がスマートかもしれません。 |
```python |
a[np.eye(3, dtype=bool)] = 1000 |
``` |
あるいはこんな。 |
```python |
a + 1000*np.eye(3) |
``` |
実行例 |
```python |
>>> import numpy as np |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a |
array([[0, 1, 0], |
[1, 0, 2], |
[0, 2, 0]]) |
>>> a[0,0] = a[1,1] = a[2,2] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a[np.eye(3, dtype=bool)] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a + 1000*np.eye(3) |
array([[1000., 1., 0.], |
[ 1., 1000., 2.], |
[ 0., 2., 1000.]]) |
``` |
``` |
最後の方法以外はin-placeで処理するので、もとのaを残して別途bを作りたければ配列のコピー操作をする必要があります。 |
hayataka2049 score 29879
2018/11/18 11:36 投稿
これで良いのでは。 |
```python |
a[0,0] = a[1,1] = a[2,2] = 1000 |
``` |
ちょっと凝ってみると、こうした方がスマートかもしれません。 |
```python |
a[np.eye(3, dtype=bool)] = 1000 |
``` |
あるいはこんな。 |
```python |
a + 1000*np.eye(3) |
``` |
実行例 |
```python |
>>> import numpy as np |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a |
array([[0, 1, 0], |
[1, 0, 2], |
[0, 2, 0]]) |
>>> a[0,0] = a[1,1] = a[2,2] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a[np.eye(3, dtype=bool)] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a + 1000*np.eye(3) |
array([[1000., 1., 0.], |
[ 1., 1000., 2.], |
[ 0., 2., 1000.]]) |
``` |
hayataka2049 score 29879
2018/11/18 11:34 投稿
これで良いのでは。 |
```python |
a[0,0] = a[1,1] = a[2,2] = 1000 |
``` |
ちょっと凝ってみると、こうした方がスマートかもしれません。 |
```python |
a[np.eye(3, dtype=bool)] = 1000 |
``` |
実行例 |
```python |
>>> import numpy as np |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a |
array([[0, 1, 0], |
[1, 0, 2], |
[0, 2, 0]]) |
>>> a[0,0] = a[1,1] = a[2,2] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a[np.eye(3, dtype=bool)] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
``` |
hayataka2049 score 29879
2018/11/18 11:34 投稿
これで良いのでは。 |
```python |
a[0,0] = a[1,1] = a[2,2] = 1000 |
``` |
ちょっと凝ってみると、こうした方がスマートかもしれません。 |
```python |
a[np.eye(3, dtype=bool)] = 1000 |
``` |
```python |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a |
array([[0, 1, 0], |
[1, 0, 2], |
[0, 2, 0]]) |
>>> a[0,0] = a[1,1] = a[2,2] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
>>> a = np.array([[0,1,0],[1,0,2],[0,2,0]]) |
>>> a[np.eye(3, dtype=bool)] = 1000 |
>>> a |
array([[1000, 1, 0], |
[ 1, 1000, 2], |
[ 0, 2, 1000]]) |
``` |
hayataka2049 score 29879
2018/11/18 11:33 投稿
これで良いのでは。 |
```python |
a[0,0] = a[1,1] = a[2,2] = 1000 |
``` |
ちょっと凝ってみると、こうした方がスマートかもしれません。 |
```python |
a[np.eye(3, dtype=bool)] = 1000 |
``` |