Mettre à jour le tableau numpy 2d via un objet slice [duplicate]
Dec 02 2020
Je suis donc assez nouveau dans numpy et la programmation en général, et je me demandais s'il existe un moyen de changer un tableau numpy via un autre tableau qui est une tranche, par exemple, nous avons:
>>> import numpy as np
>>> a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
>>> a
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]])
Et maintenant, je veux multiplier toutes les valeurs autour et y compris '8' par 2, donc je prends une tranche b et la change comme telle:
>>> y, x = 1, 2
>>> b = a[y-1:y+2, x-1:x+2]
>>> for i in range(len(b)):
for x in range(len(b[i])):
b[i][x] *= 2
>>> b
array([[ 4, 6, 8],
[14, 16, 18],
[24, 26, 28]])
maintenant je veux changer ces valeurs dans le tableau a, comment faire?
Réponses
adirabargil Dec 02 2020 at 13:08
As-tu essayé:
a[y-1:y+2, x-1:x+2] = a[y-1:y+2, x-1:x+2]*2