Python >> Tutoriel Python >  >> Python Tag >> NumPy

Comment initialiser un tableau NumPy avec des zéros et des uns

Numpy est une bibliothèque Python populaire pour la science des données axée sur l'algèbre linéaire. Dans cet article, vous apprendrez à initialiser votre tableau NumPy.

Comment initialiser un tableau NumPy avec des zéros ?

Pour initialiser votre tableau NumPy avec des zéros, utilisez la fonction np.zeros(shape)shape est un tuple qui définit la forme de votre tableau souhaité. Par exemple, np.zeros((3,)) définit un tableau unidimensionnel avec trois éléments "0", c'est-à-dire [0 0 0] . Et np.zeros((2,2) ) est un tableau à deux dimensions avec deux lignes et deux colonnes, c'est-à-dire [[0 0] [0 0]] .

Voici quelques exemples :

>>> np.zeros((3,))
array([0., 0., 0.])
>>> np.zeros((10,))
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> np.zeros((2, 2))
array([[0., 0.],
       [0., 0.]])
>>> np.zeros((2, 3, 4))
array([[[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]],

       [[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]]])
  • La première valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe 0.
  • La deuxième valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe 1.
  • La n-ième valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe n.

Le tableau résultant est rempli de zéros de type float. Si vous voulez changer cela, vous pouvez définir un autre type de données comme second dtype facultatif argument, par exemple, np.zeros((2, 2), dtype='numpy.int8') pour initialiser un tableau avec des valeurs entières nulles.

Comment initialiser un tableau NumPy avec des One ?

Pour initialiser votre tableau NumPy avec des uns, utilisez la fonction np.ones(shape)shape est un tuple qui définit la forme de votre tableau souhaité. Par exemple, np.ones((3,)) définit un tableau unidimensionnel avec trois éléments "1", c'est-à-dire [1 1 1] . Et np.ones((2,2) ) est un tableau à deux dimensions avec deux lignes et deux colonnes, c'est-à-dire [[1 1] [1 1]] .

Voici quelques exemples :

>>> np.ones((3,))
array([1., 1., 1.])
>>> np.ones((10,))
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
>>> np.ones((2, 2))
array([[1., 1.],
       [1., 1.]])
>>> np.ones((2, 3, 4))
array([[[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]],

       [[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]]])
  • La première valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe 0.
  • La deuxième valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe 1.
  • La n-ième valeur de tuple du tuple de forme est le nombre d'éléments dans l'axe n.

Le tableau résultant est rempli de "1.0" de type float. Si vous voulez changer cela, vous pouvez définir un autre type de données comme deuxième dtype facultatif argument, par exemple, np.ones((2, 2), dtype='numpy.int8') pour initialiser un tableau avec des valeurs entières "1".

Testons votre compréhension de ces concepts dans un puzzle NumPy interactif, d'accord ?

Initialiser le tableau NumPy — Puzzle

import numpy as np

n = 100 # dimensionality

W = np.zeros((n, n))
for i in range(len(W)):
    W[i][i] = 2

X = np.ones((n,n))

Y = W * X
print(int(Y[-1][-1]))

Quel est le résultat de ce puzzle ?

Vous pouvez résoudre le puzzle sur notre application de puzzle interactif ici :

Ce puzzle effectue un simple calcul de régression linéaire. Il teste votre compréhension de trois concepts NumPy.

  • Tout d'abord, vous pouvez spécifier la forme du tableau sous la forme d'un tuple (n,m)n est le nombre de lignes et m le nombre de colonnes.
  • Deuxièmement, vous pouvez créer de nouveaux tableaux d'une forme spécifiée à l'aide des fonctions ones() et zeros() . Les valeurs initiales d'un tel tableau sont respectivement 1 et 0.
  • Troisièmement, vous pouvez effectuer une multiplication matricielle à l'aide de l'opérateur de multiplication intuitif '*' . Chaque cellule (i,j) de la nouvelle matrice est le produit du vecteur ligne i de la première matrice avec le vecteur colonne j de la deuxième matrice.

En conséquence, nous imprimons le dernier élément de la matrice bidimensionnelle Y (en bas à droite).

Voulez-vous devenir un maître NumPy ? Découvrez notre livre de puzzle interactif Coffee Break NumPy et boostez vos compétences en data science ! (Le lien Amazon s'ouvre dans un nouvel onglet.)