Maison >développement back-end >Tutoriel Python >Génération efficace de nombres aléatoires à l'aide de numpy
Utilisez numpy pour obtenir une génération efficace de nombres aléatoires
Les nombres aléatoires ont des applications importantes dans de nombreux domaines, tels que les expériences de simulation, l'initialisation d'algorithmes d'apprentissage automatique, la cryptographie, etc. Numpy est une bibliothèque de calcul scientifique efficace qui fournit également des fonctions et des outils riches pour générer des nombres aléatoires. Cet article explique comment utiliser numpy pour générer efficacement des nombres aléatoires et donne des exemples de code spécifiques.
Les fonctions de génération de nombres aléatoires de la bibliothèque numpy sont principalement concentrées dans le module random. Voici quelques fonctions de génération de nombres aléatoires couramment utilisées et des exemples de leur utilisation :
Des nombres aléatoires uniformément distribués sont également susceptibles d'être générés dans un intervalle donné. Numpy fournit la fonction rand pour obtenir une génération de nombres aléatoires uniformément distribués. L'exemple de code est le suivant :
import numpy as np # 生成一个服从[0, 1)区间均匀分布的随机数 random_num = np.random.rand() print(random_num) # 生成一个服从[10, 20)区间均匀分布的随机数 random_num = np.random.uniform(10, 20) print(random_num) # 生成一个3x3的数组,其中的元素服从[0, 1)区间均匀分布 random_array = np.random.rand(3, 3) print(random_array)
Les nombres aléatoires normalement distribués ont une distribution en forme de cloche centrée sur la moyenne. La fonction randn est fournie dans numpy pour générer des nombres aléatoires qui obéissent à la distribution normale standard. Vous pouvez également utiliser la fonction normale pour générer des nombres aléatoires distribués normaux avec une moyenne et une variance arbitraires. Voici un exemple de code :
import numpy as np # 生成一个服从标准正态分布的随机数 random_num = np.random.randn() print(random_num) # 生成一个服从均值为5,方差为2的正态分布随机数 random_num = np.random.normal(5, 2) print(random_num) # 生成一个4x4的数组,其中的元素服从标准正态分布 random_array = np.random.randn(4, 4) print(random_array)
Parfois, vous devez organiser un tableau au hasard ou sélectionner au hasard une partie d'éléments d'un tableau. Numpy fournit des fonctions de lecture aléatoire et de choix pour effectuer ces opérations. Voici un exemple de code :
import numpy as np # 随机排列一个数组 array = np.array([1, 2, 3, 4, 5]) np.random.shuffle(array) print(array) # 从一个数组中随机选择3个元素 array = np.array([1, 2, 3, 4, 5]) random_choice = np.random.choice(array, size=3, replace=False) print(random_choice)
En plus de générer des nombres aléatoires à virgule flottante, numpy fournit également des fonctions pour générer des entiers aléatoires. La fonction randint peut générer des entiers aléatoires dans une plage spécifiée, et la fonction de choix peut également être utilisée pour générer des entiers aléatoires dans une plage spécifiée. Voici un exemple de code :
import numpy as np # 生成一个[1, 10]范围内的随机整数 random_int = np.random.randint(1, 11) print(random_int) # 从一个数组中随机选择一个整数 array = np.array([1, 2, 3, 4, 5]) random_choice = np.random.choice(array) print(random_choice)
Grâce aux exemples ci-dessus, nous pouvons voir que numpy fournit un riche ensemble de fonctions de génération de nombres aléatoires pour répondre aux besoins de divers scénarios d'application. Lors de la génération d'un grand nombre de nombres aléatoires, l'avantage d'efficacité de numpy est particulièrement évident, ce qui peut considérablement améliorer la vitesse d'exécution du programme.
Pour résumer, il est très pratique d'utiliser numpy pour obtenir une génération efficace de nombres aléatoires. J'espère que l'introduction de cet article pourra aider les lecteurs à mieux comprendre et utiliser la fonction de génération de nombres aléatoires dans la bibliothèque numpy.
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!