Maison >développement back-end >Tutoriel Python >Partagez des conseils et des exemples de fonctions numpy pour améliorer l'efficacité du travail

Partagez des conseils et des exemples de fonctions numpy pour améliorer l'efficacité du travail

王林
王林original
2024-01-26 09:38:06531parcourir

Partagez des conseils et des exemples de fonctions numpy pour améliorer lefficacité du travail

Partage de conseils et d'exemples sur les fonctions numpy pour améliorer l'efficacité du travail

Introduction :
Dans le domaine du traitement des données et du calcul scientifique, il est très courant d'utiliser la bibliothèque numpy de Python. Numpy fournit une série de fonctions et d'outils puissants qui peuvent facilement effectuer des opérations et des calculs de données à grande échelle. Cet article présentera quelques techniques de fonction numpy pour améliorer l'efficacité du travail et fournira des exemples de code spécifiques.

1.Opération de vectorisation
L'opération de vectorisation de Numpy est l'une de ses fonctions les plus puissantes. Grâce aux opérations de vectorisation, vous pouvez éviter d'utiliser des boucles for pour opérer sur chaque élément, améliorant ainsi considérablement la vitesse de fonctionnement.

Exemple de code 1 : Calculer la somme des lignes et des colonnes d'une matrice

import numpy as np

m = np.random.rand(1000, 1000)

# 使用for循环
row_sum = np.zeros(1000)
col_sum = np.zeros(1000)
for i in range(1000):
    for j in range(1000):
        row_sum[i] += m[i][j]
        col_sum[j] += m[i][j]

# 使用矢量化操作
row_sum = np.sum(m, axis=1)
col_sum = np.sum(m, axis=0)

Exemple de code 2 : Calculer la moyenne pondérée de deux tableaux

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
weights = np.array([0.2, 0.3, 0.5])

# 使用for循环
result = 0
for i in range(3):
    result += a[i] * b[i] * weights[i]

# 使用矢量化操作
result = np.dot(np.multiply(a, b), weights)

2. Broadcast
Broadcasting est une fonction de numpy qui permet à des tableaux de différentes dimensions de be Calculer le temps devient très pratique. En diffusion, nous ne pouvons opérer que sur un tableau sans correspondance de dimension explicite.

Exemple de code 3 : Calculez l'erreur quadratique moyenne du tableau

import numpy as np

a = np.array([1, 2, 3])
mean = np.mean(a)
var = np.sqrt(np.mean((a - mean) ** 2))

Exemple de code 4 : Soustrayez la moyenne de la ligne correspondante de chaque ligne de la matrice

import numpy as np

m = np.random.rand(1000, 1000)
mean = np.mean(m, axis=1)
m -= mean[:, np.newaxis]

3 Compétences de découpage et d'indexation
Numpy offre une multitude de découpages. et des compétences d'indexation, qui peuvent facilement intercepter et filtrer les tableaux.

Exemple de code 5 : Extraire aléatoirement certains éléments du tableau

import numpy as np

a = np.arange(100)
np.random.shuffle(a)
selected = a[:10]

Exemple de code 6 : Filtrer les éléments du tableau qui remplissent les conditions

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])
selected = a[a > 3]

4. Fonctions générales et fonctions d'agrégation
Numpy fournit un grand nombre de fonctions générales et d'agrégation. fonctions, qui peuvent facilement effectuer diverses opérations mathématiques et statistiques sur des tableaux.

Exemple de code 7 : Prendre la valeur absolue des éléments du tableau

import numpy as np

a = np.array([-1, -2, -3, 4, 5, 6])
abs_a = np.abs(a)

Exemple de code 8 : Calculer la somme, la moyenne et la valeur maximale du tableau

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])
sum_a = np.sum(a)
mean_a = np.mean(a)
max_a = np.max(a)

Résumé :
Cet article présente quelques techniques de fonction numpy pour améliorer le travail efficacité et fournit des exemples de code spécifiques. Grâce aux opérations de vectorisation, aux techniques de diffusion, de découpage et d'indexation, ainsi qu'à l'utilisation de fonctions générales et d'agrégation, nous pouvons utiliser numpy plus efficacement dans le traitement des données et le calcul scientifique. J’espère que cet article sera utile au travail de chacun !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn