numpy.arrayも基本シャロー・コピーだが、部分を取るとディープ・コピー

http://d.hatena.ne.jp/teramonagi/20170411/1491892292

の続き的な。

bの部分集合を指定した時点でコピってんだろうなぁ。。。

>>> import numpy as np
>>> a = np.array([[1, 2],[3, 4]])
>>> b = np.array([[6, 7],[8, 9]])
>>> a[[(0,0), (1,1)]] = b[[(0,0), (1,1)]]
>>> a[0][0] = 100
>>> a[1][1] = 100
>>> a
[[100   7]
 [  3 100]]
>>> b
[[6 7]
 [8 9]]