Maison > Article > développement back-end > Interprétation des mises à jour de version numpy : nouvelles fonctionnalités et performances améliorées
Avec le développement continu de la science des données et de l'apprentissage profond, Python, en tant que l'un des langages de programmation traditionnels, sa bibliothèque de calcul scientifique numpy innove également constamment. Récemment, numpy a publié une nouvelle version contenant de nouvelles fonctionnalités et des améliorations de performances. Dans cet article, nous allons approfondir la nouvelle version de numpy et présenter certaines de ses fonctionnalités et améliorations importantes.
Avant numpy 1.17.0, la fonction shuffle réorganisait les éléments du tableau dans un ordre aléatoire. Cependant, comme l’implémentation de la fonction shuffle est différente de l’algorithme aléatoire standard, elle peut affecter les performances dans certaines circonstances. Dans numpy 1.17.0, la fonction shuffle a été mise à jour pour utiliser un nouvel algorithme aléatoire, améliorant ainsi ses performances et son caractère aléatoire.
Voici un exemple de code montrant comment utiliser la fonction shuffle dans numpy 1.17.0 :
import numpy as np # 创建一个有序数组 arr = np.arange(10) # 将数组随机排序 np.random.shuffle(arr) print(arr)
Résultats de sortie :
[2 6 5 7 0 9 3 1 4 8]
La version Numpy 1.13.0 introduit une nouvelle méthode de déduplication de tableau unique peut gérer les doublons plus rapidement et plus facilement. Dans les versions précédentes, numpy utilisait la fonction de tri pour trier un tableau avant de supprimer les doublons. Cependant, cette approche peut entraîner une dégradation des performances lorsqu'il s'agit de grandes baies. Dans numpy 1.13.0, la fonction unique utilise un algorithme de table de hachage, qui offre de meilleures performances lors de la gestion des doublons.
Voici un exemple de code montrant comment utiliser la fonction unique dans numpy 1.13.0 :
import numpy as np # 创建一个有重复项的数组 arr = np.array([1, 2, 3, 2, 4, 1, 5, 6, 4]) # 去掉数组中的重复项 arr = np.unique(arr) print(arr)
Résultat de sortie :
[1 2 3 4 5 6]
La version Numpy 1.16.0 introduit un nouveau tableau La méthode d'affectation at peut modifier les éléments du tableau plus rapidement et plus directement. Dans les versions précédentes, numpy utilisait des boucles pour les modifications du tableau, ce qui entraînait une dégradation des performances. Dans numpy 1.16.0, la fonction at est implémentée en code C et offre des performances plus élevées.
Voici un exemple de code montrant comment utiliser la fonction at dans numpy 1.16.0 :
import numpy as np # 创建一个3x3的数组 arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 使用at函数修改数组元素 np.add.at(arr, [0, 1, 2], 1) print(arr)
Résultats de sortie :
[[ 2 3 4] [ 5 6 7] [ 8 9 10]]
La version Numpy 1.14.0 introduit de nouvelles méthodes de calcul de tableaux, y compris matmul, einsum et tensordot. Ces méthodes facilitent l'exécution de tâches telles que les calculs matriciels et les calculs tensoriels. Dans les versions précédentes, numpy nécessitait l'utilisation d'une variété de fonctions pour accomplir ces tâches, mais la nouvelle méthode la rend plus rapide et plus simple.
Ce qui suit est un exemple de code qui montre comment utiliser la fonction matmul pour les calculs matriciels dans numpy 1.14.0 :
import numpy as np # 创建两个矩阵 a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) # 使用matmul函数计算矩阵积 c = np.matmul(a, b) print(c)
Résultats de sortie :
[[19 22] [43 50]]
En plus des nouvelles fonctionnalités ci-dessus, la nouvelle La version numpy contient également quelques améliorations de performances. Parmi elles, les améliorations les plus significatives concernent la copie de tableau et la vue de tableau. Dans les versions précédentes, numpy nécessitait une opération de copie supplémentaire pour créer la vue tableau, ce qui entraînait une dégradation des performances. Dans les dernières versions, numpy a amélioré les performances en utilisant une méthode plus rapide pour créer des vues de tableau. De plus, numpy a également optimisé l'opération de transposition, la fonction in1d et la fonction de tri, etc., et a également obtenu de bonnes améliorations de performances.
En résumé, la nouvelle version de numpy contient de nouvelles fonctionnalités importantes et des améliorations de performances, qui rendent numpy plus pratique et efficace. Si vous devez gérer de grands tableaux ou effectuer des tâches de science des données et d'apprentissage en profondeur, assurez-vous de passer à la dernière version de numpy pour de meilleures performances et fonctionnalités.
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!