9,538 views
この記事は最終更新から 2242日 が経過しています。
例として 8行5列の配列 aを作る。
>>> import numpy as np
>>> a = np.random.rand(8,5)
>>> a
array([[ 0.59477343, 0.39696101, 0.8635444 , 0.57730748, 0.80778975],
[ 0.36723965, 0.48813453, 0.53213475, 0.0682938 , 0.23692774],
[ 0.82790539, 0.02619104, 0.7563847 , 0.10553861, 0.59796693],
[ 0.62885835, 0.61025432, 0.60352469, 0.09148856, 0.55585131],
[ 0.54324068, 0.61347011, 0.6137894 , 0.8560153 , 0.39223471],
[ 0.28993199, 0.37723578, 0.65900017, 0.60465485, 0.56363825],
[ 0.00705464, 0.58109945, 0.79664211, 0.92434556, 0.01637478],
[ 0.79555517, 0.61280461, 0.32642076, 0.70221643, 0.17151009]])
これに部分代入する 3行2列の配列 bを作る。
代入結果がわかりやすいように整数とする。
>>> b=(np.random.rand(3,2) * 10).astype(np.int32).astype(np.float32)
>>> b
array([[ 2., 7.],
[ 4., 6.],
[ 7., 7.]], dtype=float32)
a[2][2]を起点に bを代入する。
>>> sb = b.shape
>>> sb
(3, 2)
>>> a[2:2+sb[0], 2:2+sb[1]] = b
>>> a
array([[ 0.59477343, 0.39696101, 0.8635444 , 0.57730748, 0.80778975],
[ 0.36723965, 0.48813453, 0.53213475, 0.0682938 , 0.23692774],
[ 0.82790539, 0.02619104, 2. , 7. , 0.59796693],
[ 0.62885835, 0.61025432, 4. , 6. , 0.55585131],
[ 0.54324068, 0.61347011, 7. , 7. , 0.39223471],
[ 0.28993199, 0.37723578, 0.65900017, 0.60465485, 0.56363825],
[ 0.00705464, 0.58109945, 0.79664211, 0.92434556, 0.01637478],
[ 0.79555517, 0.61280461, 0.32642076, 0.70221643, 0.17151009]])
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-12-09: 0回 2025-12-08: 3回 2025-12-07: 2回 2025-12-06: 0回 2025-12-05: 0回 2025-12-04: 0回 2025-12-03: 0回