Fondation d'analyse de données NumPy : opérations de base des opérations de tableau ndarray et itération d'index de tranche

Table des matières

avant-propos

1. Opérations mathématiques de base

1. Addition et soustraction

2. Puissance

3. Filtrage conditionnel

4. Multiplication des éléments de la matrice

5. Multiplication matricielle

6. Conversion implicite de type tableau

2. Indexation et itération des tranches

1. Tableau unidimensionnel

2. Tableaux multidimensionnels

Faites attention, évitez de vous perdre, s'il y a des erreurs, veuillez laisser un message pour obtenir des conseils, merci beaucoup



avant-propos

En tant que l'un des trois géants de l'analyse de données, Pandas, matplotlib et NumPy, il est nécessaire de donner une explication distincte pour le visage. Les scénarios d'application NumPy sont très larges et de nombreuses fonctions Pandas sont converties en structures de données de tableau NumPy. Il est encore plus fréquemment utilisé que Pandas dans l'apprentissage automatique, l'apprentissage en profondeur et certaines opérations de traitement de données. De plus, NumPy est puissant et pratique à utiliser, et prend en charge une variété d'opérations complexes. J'utilise habituellement NumPy dans mes Pandas et certains articles d'apprentissage automatique, mais le contenu du blog n'explique pas le fonctionnement de NumPy en détail, ni n'enregistre de réponses spécifiques sur le fonctionnement de NumPy. C'est vraiment inapproprié pour un blogueur comme moi qui poursuit des besoins de service à guichet unique, je vais donc remplir l'ancien puits et publier une nouvelle série d'apprentissage rapide en un seul texte - Colonne de base d'analyse de données Numpy.

Cette série d'articles sera incluse dans ma première colonne, une série d'apprentissage rapide - la base d'analyse de données NumPy, qui couvre essentiellement l'utilisation des données NumPy pour analyser les activités quotidiennes et l'analyse de modélisation mathématique de routine et les opérations complexes. Je passerai beaucoup de temps et de réflexion sur la création d'opérations de tableau de base à des opérations complexes telles que le traitement de matrices et de caractéristiques vectorielles, ainsi que des fonctions communes NumPy professionnelles.Si vous avez besoin de vous engager dans l'analyse de données ou le développement de données, la modélisation mathématique, les amis of Python engineering recommande de s'abonner à la colonne, et vous apprendrez les connaissances les plus pratiques et les plus courantes dans un premier temps. Ce blog est long et vaut la peine d'être lu et pratiqué, je vais choisir la meilleure partie et parler de la pratique en détail. Les blogueurs maintiendront les articles de blog pendant longtemps. Si vous avez des erreurs ou des doutes, vous pouvez les signaler dans la zone de commentaires. Merci pour votre soutien.

Ce chapitre explique principalement les opérations mathématiques de base de l'objet tableau numpy ndarray, telles que les opérations matricielles d'addition, de soustraction, de multiplication et de division, ainsi que les fonctions mathématiques générales et couramment utilisées.


1. Opérations mathématiques de base

Les opérateurs arithmétiques sur les tableaux sont exécutés élément par élément, créant un nouveau tableau et le remplissant avec le résultat.

1. Addition et soustraction

a = np.array([20, 30, 40, 50])
b = np.arange(10,50,10)
c=a-b
c

 

2. Puissance

a**2

 

3. Filtrage conditionnel

a<40

 

 Contrairement à de nombreux langages matriciels, l'opérateur de produit * opère sur les éléments des tableaux NumPy. Le produit matriciel peut être effectué à l'aide de l'opérateur @ (dans les versions python >= 3.5) ou de la fonction ou méthode point :

4. Multiplication des éléments de la matrice

A = np.array([[1, 2],
              [3, 4]])
B = np.array([[5, 6],
              [7, 8]])
A*B

 

5. Multiplication matricielle

A@B

 

Ou utiliser la fonction point revient au même :

A.dot(B)

 

 Certaines opérations, telles que += et *=, modifient les tableaux existants, et non en créent de nouveaux.

a = np.ones((2, 3), dtype=int)
a*=3
a

 

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=int)
b += a
b

 

6. Conversion implicite de type tableau

Lorsque vous travaillez avec des tableaux de types différents, le type du tableau résultant correspond à un type plus général ou précis (un comportement appelé upcasting).

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=float)
c=a+b
c.dtype.name

 

 De nombreuses opérations unaires, telles que le calcul de la somme de tous les éléments d'un tableau, sont implémentées en tant que méthodes de la classe ndarray.

c.sum()
c.max()
c.min()

 Par défaut, ces opérations sont appliquées au tableau comme s'il s'agissait d'une liste de nombres, quelle que soit sa forme. Cependant, les opérations peuvent être appliquées le long de l'axe spécifié du tableau en spécifiant le paramètre axis :

b = np.arange(12).reshape(3, 4)
b

 

b.sum(axis=0)

 

b.min(axis=1)

 

b.cumsum(axis=1)

2. Indexation et itération des tranches

1. Tableau unidimensionnel

Les tableaux unidimensionnels peuvent être indexés, découpés et itérés, tout comme les listes et autres séquences Python.

a=np.arange(10,20,2)
a[2]

 

a[2:5]

 

2. Tableaux multidimensionnels

Chaque axe d'un tableau multidimensionnel peut avoir un index. Ces indices sont donnés sous forme de tuples séparés par des virgules :

def f(x, y):
    return 10 * x + y
b = np.fromfunction(f, (5, 4), dtype=int)
b

 

b[2, 3]

 

b[0:5, 1] 

 

b[1:3, :]

 

Lorsque moins d'indices que le nombre d'axes sont fournis, les indices manquants sont traités comme des tranches complètes :

b[-1]

 

Les expressions entre parenthèses dans b[i] sont traitées comme i , suivies d' autant d'instances de : que nécessaire pour représenter les axes restantsNumPy permet également d'écrire avec des points comme b[i,...] .

Les points (...) représentent les deux-points nécessaires pour générer le tuple d'index complet. Par exemple, si x est un tableau à 5 axes, alors

  • x[1,2,…] est équivalent à x[1,2,:,:,]
  • x[…,3] à x[:,:,::,:3]
  • x[4,...,5,:] à x[4,:,:,5,:]
c = np.array([[[  0,  1,  2],  
               [ 10, 12, 13]],
              [[100, 101, 102],
               [110, 112, 113]]])
c

 

c[1, ...]

 

c[..., 2]

 

Itérer sur un tableau multidimensionnel sur le premier axe :

for row in b:
    print(row)

 

 Cependant, si vous souhaitez effectuer une opération sur chaque élément du tableau, vous pouvez utiliser la propriété flat, qui est un itérateur sur tous les éléments du tableau :

for element in b.flat:
    print(element)

Faites attention, évitez de vous perdre, s'il y a des erreurs, veuillez laisser un message pour obtenir des conseils, merci beaucoup

C'est tout pour ce problème. Je suis fanstuck, si vous avez des questions, n'hésitez pas à laisser un message pour en discuter, rendez-vous dans le prochain numéro

 

Je suppose que tu aimes

Origine blog.csdn.net/master_hunter/article/details/127144925
conseillé
Classement