Matériel de référence
Les éléments suivants sont recommandés car le nombre de types est petit et le risque de confusion est faible.
numpy.py
import numpy as np
np.array([2, 0, 2, 0])
numpy.py
import numpy as np
x = np.array([[2, 0, 2, 0],[2, 0, 2, 1]])
fonction numpy.dot = trouver le produit interne des vecteurs et le produit des matrices
«Tableau» est une donnée à usage général qui représente une collection de données de n'importe quelle dimension, non dédiée à la «matrice».
numpy_array.py
import numpy as np
x = np.array([2, 0, 2, 0])
y = np.array([2, 0, 2, 1])
print(x + y)
print(x * y)
print(x.dot(y))
=> [4, 0, 4, 1] #Élément par élément
=> [4, 0, 4, 0] #Élément par élément (Attention)
=> 8 #produit intérieur
#Matrice x vecteur
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
x = np.array([7, 8, 9])
print(A.dot(x))
=> [ 50, 122]
#Matrice x Matrice
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[1, 2], [3, 4], [5, 6]])
print(A.dot(B))
=>[[22 28]
[49 64]]
matrice est une classe qui représente une matrice
Notez que «tableau» et «matrice» sont différents
Caractéristiques de la classe np.matrix
numpy_matrux.py
import numpy as np
A = np.matrix([[1, 2, 3],[4, 5, 6]])
B = np.matrix([[1, 2], [3, 4], [5, 6]])
print(A.dot(B)) #numpy.Le résultat de la fonction dot calcule le produit intérieur avec le tableau
=> [[22 28]
[49 64]]
import numpy as np
A = np.matrix([[1, 2, 3],[4, 5, 6]])
B = np.matrix([[1, 2], [3, 4], [5, 6]])
print(A * B) #Opérateur en matrice"*"Calculez le produit intérieur avec
=> [[22 28]
[49 64]]
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[1, 2], [3, 4], [5, 6]])
print(A * B) #J'essaie de calculer pour chaque élément, mais une erreur se produit car les formes des matrices ne correspondent pas.
=> ValueError: operands could not be broadcast together with shapes (2,3) (3,2)
python:numpy.array.py
import numpy as np
#Séquence de nombres à différence égale(Désignation de différence égale)
np.arrange(2, 3, 0.2)
=> array([ 2. , 2.2, 2.4, 2.6, 2,8])
#Séquence de nombres à différence égale(Spécifiez des points)
np.linspace(2, 3, 6)
=> array([ 2. , 2.2, 2.4, 2.6, 2.8, 3. ])
#Alignez zore
np.zeros((3, 2))
=> array([[0., 0.],
[0., 0.],
[0., 0.]])
#Alignez-en un
np.ones((2, 3))
=> array([[1., 1.],
[1., 1.],
[1., 1.]])
#Méthode
#Créez une forme avec 0 et attribuez une valeur à chaque élément
import numpy as np
def make_diag(n):
A = np.zeros((n, n))
for i in range(n):
A[i, i] = i + 1
return A
print(make_diag(4))
=> [[1. 0. 0. 0.]
[0. 2. 0. 0.]
[0. 0. 3. 0.]
[0. 0. 0. 4.]]
#Remodeler qui change de forme tout en laissant la disposition des éléments telle quelle
import numpy as np
A = np.arange(0, 15, 1)
print("Contenu de A:\n{}".format(A))
B = A.reshape(3, 5)
print("Contenu de B:\n{}".format(B))
C = B.reshape(5, 3)
print("Contenu de C:\n{}".format(C))
=>Contenu de A:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
Contenu de B:
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
Contenu de C:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]]
#Utilisation de nombres aléatoires aléatoires
import numpy as np
np.random.random((3, 3))
=>array([[0.96781535, 0.64650387, 0.05718226],
[0.78586557, 0.4422813 , 0.92825971],
[0.94403786, 0.90600626, 0.85543603]])
#Spécifiez chaque composant avec une fonction
import numpy as np
def f(i, j):
return i + j
A = np.fromfunction(f, (3, 3))
print(A)
=>[[0. 1. 2.]
[1. 2. 3.]
[2. 3. 4.]]
numpy.py
import numpy as np
A = np.arange(0, 15, 1)
print("A=>\n{}".format(A))
B = A.reshape(3, 5)
print("B=>\n{}".format(B))
print("B[1:2]=>\n{}".format(B[1:2]))
print("B[1:3, 2:3]=>\n{}".format(B[1:3, 2:4]))
print("B[1:3, :]=>\n{}".format(B[1:3, :]))
print("B[:, 2:4]=>\n{}".format(B[:, 2:4]))
print("B[:, 2]=>\n{}".format(B[:, 2]))
print("B[:, :]=>\n{}".format(B[:,:])
A=>
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
B=>
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
B[1:2]=>
[[5 6 7 8 9]]
B[1:3, 2:3]=>
[[ 7 8]
[12 13]]
B[1:3, :]=>
[[ 5 6 7 8 9]
[10 11 12 13 14]]
B[:, 2:4]=>
[[ 2 3]
[ 7 8]
[12 13]]
B[:, 2]=>
[ 2 7 12]
B[:, :]=>
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
numpy
fournit des fonctions avec les mêmes noms que ceux fournis par le module mathématique, comme sin et cos.
Ils se comportent comme ʻappliquer à tous les éléments du tableau pour le tableau
universal.py
import numpy as np
import math
r = np.linspace(0, 0.5 * math.pi, 6)
print(r)
sin_r = np.sin(r)
print(sin_r)
cos_r = np.cos(r)
print(cos_r)
print("TypeError lors de l'utilisation de la fonction fournie par math pour numpy")
print(math.sin(r)
[0. 0.31415927 0.62831853 0.9424778 1.25663706 1.57079633]
[0. 0.30901699 0.58778525 0.80901699 0.95105652 1. ]
[1.00000000e+00 9.51056516e-01 8.09016994e-01 5.87785252e-01
3.09016994e-01 6.12323400e-17]
TypeError lors de l'utilisation de la fonction fournie par math
Traceback (most recent call last):
File "test_conda.py", line 14, in <module>
print(math.sin(r))
TypeError: only size-1 arrays can be converted to Python scalars
Recommended Posts