[Python] Mémo Numpy

Un mémo Numpy qui ne fait que commencer avec l'apprentissage automatique

Matériel de référence

Importation et utilisation de numpy

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])

La base de numpy est ʻarray`, vous pouvez également écrire un tableau multidimensionnel

numpy.py


import numpy as np
x = np.array([[2, 0, 2, 0],[2, 0, 2, 1]])

arithmétique du tableau

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]]

arithmétique matricielle

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)

Différentes façons de créer un tableau

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.]]

Extraction d'éléments / lignes / colonnes

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]]

Fonction universelle

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

[Python] Mémo Numpy
Mémo Python
mémo python
Mémo Python
mémo python
Mémo Python
Mémo Python
Mon Numpy (Python)
[Python] Mémo sur le dictionnaire
mémo débutant python (9.2-10)
mémo débutant python (9.1)
Les bases de #Python (#Numpy 1/2)
[Python] Mémo EDA
Les bases de #Python (#Numpy 2/2)
Mémo opérateur Python 3
[Mon mémo] python
Mémo de métaclasse Python3
Mémo débutant Python (2)
Classe Python (mémo d'apprentissage Python ⑦)
Astuces Python et Numpy
installation de python openCV (mémo)
Module Python (mémo d'apprentissage Python ④)
Test numpy Python Basic 8
Mémo du package de test Python
[Python] Mémo sur les fonctions
[Python] Recherche (NumPy) ABC165C
mémo d'expression régulière python
Recherche de bisection (python2.7) mémo
calcul de tableau numpy python
[Mon mémo] python -v / python -V
Mémo de type Liste / Dictionnaire Python3
[Mémo] Tri de liste Python3
[Python] Mémo sur les erreurs
Mémo de script DynamoDB (Python)
Mémo de base Python - Partie 2
livre de recettes python Memo
Notes de commande de base Python
Mémo du didacticiel Python OpenCV
Mémo de grammaire de base Python
[Python] Tri des données Numpy
Mémo de l'API TensorFlow (Python)
Mémo d'opération de décorateur Python
Mémo de base Python - Partie 1
Élément de mémo Python efficace 3
Mémo Python d'énumération approximative
Python Basic --Pandas, Numpy-
Conseils pour réfléchir à np.newaxis en Python / Numpy
Mémo Python (pour moi): Array
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Mémo de mesure du temps d'exécution Python
Convertir numpy int64 en python int
Python
Mémo graphique Twitter avec Python
[Line / Python] Mémo d'implémentation Beacon
Implémentation de SMO avec Python + NumPy
Mémo tranche python et rubis
Mémo de grammaire de base Python (1)
Mémo de code personnel Python
Produit matriciel en python numpy