Exemples de comment calculer la valeur absolue de chaque élément d'un tableau ou d'une matrice en python avec numpy ?
Calculer la valeur absolue d'une matrice 1D
Créons d'abord une matrice 1D avec quelques valeurs négatives :
import numpy as np
A = np.linspace(-5.0, 4.0, num=10)
donne
array([-5., -4., -3., -2., -1., 0., 1., 2., 3., 4.])
Pour calculer la valeur absolue de chaque élément de A, une solution consiste à utiliser numpy.absolute
B = np.absolute(A)
donne alors
array([5., 4., 3., 2., 1., 0., 1., 2., 3., 4.])
Remarque : créez une visualisation avec matplotlib :
Matrix A:
import matplotlib.pyplot as plt
plt.plot(np.arange(A.shape[0]),A)
plt.title("How to calculate the absolute value \n of each element of an array \n or matrix in python with numpy")
plt.grid()
plt.savefig("absolute_01.png", bbox_inches='tight', dpi=100)
plt.show()
donne
Matrix B:
import matplotlib.pyplot as plt
plt.plot(np.arange(B.shape[0]),B)
plt.title("How to calculate the absolute value \n of each element of an array \n or matrix in python with numpy")
plt.savefig("absolute_02.png", bbox_inches='tight', dpi=100)
plt.grid()
plt.show()
donne
Un autre exemple avec une matrice 2D
Créons une matrice 2D avec quelques valeurs négatives :
A = np.random.randint(-10,10,size=(4,4))
retourne par exemple
array([[-6, -7, -7, 2],
[-7, 1, -6, -8],
[-3, 5, 9, -4],
[ 0, 0, -6, -4]])
Ensuite pour calculer la valeur absolue de chaque élément de A :
B = np.absolute(A)
donne
array([[6, 7, 7, 2],
[7, 1, 6, 8],
[3, 5, 9, 4],
[0, 0, 6, 4]])
Exemples de visualisation des résultats avec matplotlib :
import matplotlib.pyplot as plt
plt.imshow(A)
plt.title("How to calculate the absolute value \n of each element of an array \n or matrix in python with numpy")
plt.grid()
plt.colorbar()
plt.savefig("absolute_03.png", bbox_inches='tight', dpi=100)
plt.show()
donne
import matplotlib.pyplot as plt
plt.imshow(B)
plt.title("How to calculate the absolute value \n of each element of an array \n or matrix in python with numpy")
plt.grid()
plt.colorbar()
plt.savefig("absolute_04.png", bbox_inches='tight', dpi=100)
plt.show()
donne