Maison > Article > développement back-end > Comment utiliser la fonction linspace en python numpy
numpy fournit la fonction linspace (parfois également appelée np.linspace) qui est un outil pour créer des séquences numériques en python. Semblable à la fonction Numpy arange, génère une séquence de valeurs uniformément distribuée avec une structure similaire à un tableau Numpy. Bien qu'il existe quelques différences entre les deux, la plupart des gens préfèrent utiliser la fonction linspace. Elle est facile à comprendre, mais nous devons apprendre à l'utiliser.
Dans cet article, nous apprenons la fonction linspace et d'autres syntaxes, et expliquons les paramètres spécifiques à travers des exemples. Enfin, je voudrais mentionner la différence entre np.linspace et np.arange.
Créez une séquence numérique en définissant des intervalles uniformes. En fait, vous devez spécifier le point de départ et la fin de l'intervalle, ainsi que le nombre total de valeurs séparées (y compris le point de départ et le point de fin) ; la fonction finale renvoie une séquence numérique de distribution uniforme de ; la classe d'intervalle. Veuillez voir l'exemple :
np.linspace(start = 0, stop = 100, num = 5)
Le code génère un tableau NumPy (objet ndarray), le résultat est le suivant : array([ 0., 25., 50., 75., 100.])
array([ 0., 25., 50., 75., 100.])
如图:
让我们解释下,Numpy linspace函数依照定义间隔生成均匀分布的数值。我们使用start和stop参数指定间隔,这里我们设定为0和100,同时指定在范围内生产5个观测值,因此函数生成5个均匀分布的元素。第一个是0,最后一个100,其他三个分布在0和100之间。
下面我们详细看下linspace函数的参数,让你更清楚理解其机制。
linspace的语法非常简单直接。如下图所示,首先是函数名称,对应代码为 np.linspace (假设你已导入importe NumPy as np)。
图2
上图有三个参数,是平常使用最频繁的三个参数。还有其他的可选参数,下面我们讨论其参数。
为了理解参数,我们再次看图示:
start
start 参数数值范围的起始点。如果设置为0,则结果的第一个数为0.该参数必须提供。
stop
stop 参数数值范围的终止点。通常其为结果的最后一个值,但如果修改endpoint = False, 则结果中不包括该值(后面示例会说明)。
num (可选)
num 参数控制结果中共有多少个元素。如果num=5,则输出数组个数为5.该参数可选,缺省为50.
endpoint (可选)
endpoint 参数决定终止值(stop参数指定)是否被包含在结果数组中。如果 endpoint = True, 结果中包括终止值,反之不包括。缺省为True。
dtype (可选)
和其他的 NumPy 一样, np.linspace中的dtype 参数决定输出数组的数据类型。如果不指定,python基于其他参数值推断数据类型。如果需要可以显示指定,参数值为NumPy 和 Python支持的任意数据类型。
我们并不需要每次都使用所有参数,如果缺省值可以满足我们需求。一般start, stop, num 比 endpoint 和 dtype常用。
位置参数 vs 命名参数
实际调用时无需显示指定参数名称,可以通过参数位置直接匹配:
np.linspace(0, 100, 5)
上面代码和前面示例的功能一样:np.linspace(start = 0, stop = 100, num = 5)
Comme le montre la figure :
Figure 2 Il y a trois paramètres dans la figure ci-dessus, qui sont les trois paramètres les plus fréquemment utilisés. Il existe d'autres paramètres facultatifs, dont les paramètres sont décrits ci-dessous.
startstopstart Le point de départ de la plage de valeurs du paramètre. S'il est défini sur 0, le premier chiffre du résultat est 0. Ce paramètre doit être fourni.
stop Le point final de la plage de valeurs du paramètre. Il s'agit généralement de la dernière valeur du résultat, mais si endpoint = False est modifié, la valeur ne sera pas incluse dans le résultat (comme cela sera expliqué dans les exemples suivants).
endpoint détermine si la valeur finale (spécifiée par le paramètre stop) est inclus dans le tableau de résultats. Si endpoint = True, la valeur finale est incluse dans le résultat, sinon elle ne l'est pas. La valeur par défaut est Vrai.
dtype (facultatif)
Comme les autres NumPy, le paramètre dtype dans np.linspace détermine le type de données du tableau de sortie. S'il n'est pas spécifié, Python déduit le type de données en fonction d'autres valeurs de paramètres. Il peut être spécifié explicitement si nécessaire, et la valeur du paramètre peut être n'importe quel type de données pris en charge par NumPy et Python. 🎜🎜Nous n'avons pas besoin d'utiliser tous les paramètres à chaque fois, si les valeurs par défautpeuvent répondre à nos besoins. Généralement, start, stop et num sont plus couramment utilisés que endpoint et dtype. 🎜🎜Paramètres de position vs paramètres nommés🎜🎜Il n'est pas nécessaire d'afficher le nom du paramètre spécifié lors de l'appel, vous pouvez le faire correspondre directement via la position du paramètre : 🎜np.linspace(start = 0, stop = 1, num = 11)🎜Le code ci-dessus a la même fonction comme l'exemple précédent :
np.linspace (start = 0, stop = 100, num = 5)
. 🎜Le premier utilise la correspondance de position et le second utilise la correspondance de nom. La correspondance de position rend le code plus simple et la correspondance de nom rend le code plus lisible. Dans les applications pratiques, nous encourageons l'utilisation de la correspondance de nom pour appeler des fonctions. 🎜🎜3. Exemple 🎜🎜 Apprenez la signification de chaque paramètre à travers les exemples ci-dessous. 🎜🎜3.1 Le résultat de sortie de la séquence numérique 🎜np.linspace(start = 0, stop = 100, num = 11)🎜 de 0 à 1 avec un intervalle de 0,1 est : 🎜🎜🎜array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 , 1. ])🎜🎜🎜 Plus utile lorsque vous avez besoin de scènes en pourcentage. 🎜🎜3.2 Le résultat de sortie de la séquence numérique 🎜
np.linspace(start = 1, stop = 5, num = 4, endpoint = False)🎜 de 0 à 100 avec un intervalle de 10 est : 🎜🎜🎜array([ 0., 10., 20., 30., 40., 50., 60. , 70. , 80., 90., 100.])🎜🎜🎜Cet exemple est le même que précédemment, mais il est couramment utilisé dans des applications pratiques. 🎜🎜3.3 Utilisation du paramètre endpoint🎜🎜Comme mentionné précédemment, le paramètre endpoint détermine si la valeur finale est incluse dans le tableau de résultats. La valeur par défaut est True, ce qui signifie qu'il est inclus dans le résultat, sinon il n'est pas inclus, veuillez voir l'exemple : 🎜
array([ 1., 2., 3., 4.])🎜Parce que endpoint = False, 5 n'est pas inclus dans le résultat. Le résultat est de 1 à 4. 🎜
np.linspace(start = 0, stop = 100, num = 5, dtype = int)🎜Personnellement, je pense que ce paramètre n'est pas assez direct et n'est généralement pas utilisé. 🎜
默认linspace根据其他参数类型推断数据类型,很多时候,输出结果为float类型。如果需要指定数据类型,可以通过dtype设置。该参数很直接,除了linspace其他函数也一样,如:np.array,np.arange等。示例:
np.linspace(start = 0, stop = 100, num = 5, dtype = int)
这里dtype为int,结果为int类型,而不是float类型。
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!