Maison  >  Article  >  développement back-end  >  Résumé des fonctions couramment utilisées dans la bibliothèque Numpy : un outil puissant d'analyse et de modélisation de données

Résumé des fonctions couramment utilisées dans la bibliothèque Numpy : un outil puissant d'analyse et de modélisation de données

WBOY
WBOYoriginal
2024-01-19 09:10:071005parcourir

Résumé des fonctions couramment utilisées dans la bibliothèque Numpy : un outil puissant danalyse et de modélisation de données

Numpy est l'une des bibliothèques mathématiques les plus couramment utilisées en Python, qui intègre bon nombre des meilleures fonctions et opérations mathématiques. Numpy est largement utilisé, notamment dans les statistiques, l'algèbre linéaire, le traitement d'images, l'apprentissage automatique, les réseaux de neurones et d'autres domaines. En termes d'analyse et de modélisation de données, Numpy fait partie des outils indispensables. Cet article partagera les fonctions mathématiques couramment utilisées dans Numpy, ainsi que des exemples de codes permettant d'utiliser ces fonctions pour mettre en œuvre l'analyse et la modélisation de données.

1. Créez un tableau

Utilisez la fonction array() dans Numpy pour créer un tableau. Exemple de code : array()函数可以创建一个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)

这会输出 [1 2 3 4 5],表示创建了一个一维数组。

我们还可以创建一个二维数组,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)

这会输出:

[[1 2 3]
 [4 5 6]]

表示创建了一个二维数组。

二、数组属性

使用Numpy中的ndimshapesize属性可以获取数组的维度、形状和元素个数,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim)  # 输出 2,表示数组是二维的
print(arr.shape)  # 输出 (2, 3),表示数组有2行3列
print(arr.size)  # 输出 6,表示数组有6个元素

三、数组的运算

Numpy数组可以进行加、减、乘、除等运算。首先看一下给数组加一个标量的运算,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr + 2)  # 输出 [3 4 5 6 7]

表示数组中的每个元素都加上了2。

接下来是两个数组相加的运算,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # 输出 [5 7 9]

表示两个数组中对应的元素相加。

Numpy还提供了一些特定的运算,例如:

  • 平方运算:使用power()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.power(arr, 2))  # 输出 [ 1  4  9 16 25]

    这表示数组中的每个元素都平方了。

  • 开方运算:使用sqrt()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 4, 9, 16, 25])
    print(np.sqrt(arr))  # 输出 [1. 2. 3. 4. 5.]

    这表示数组中的每个元素都开方了。

  • 求和:使用sum()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.sum(arr))  # 输出 15

    这表示数组中的所有元素求和。

  • 求最大值和最小值:使用max()min()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.max(arr))  # 输出 5,表示数组中的最大值
    print(np.min(arr))  # 输出 1,表示数组中的最小值

四、数组的索引和切片

我们可以使用下标来访问数组中的元素,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[0])  # 输出 1,表示数组中的第一个元素

我们还可以对数组进行切片操作,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 输出 [2 3 4],表示从数组中取出第2个到第4个元素

五、数组形状的变换

Numpy中提供了一些函数用于改变数组的形状,其中之一是reshape()函数。我们可以使用reshape()函数重塑数组的形状,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr.reshape(5, 1))

这会返回一个形状为(5, 1)的二维数组:

[[1]
 [2]
 [3]
 [4]
 [5]]

六、数组的合并与拆分

Numpy中提供了一些函数用于合并和拆分数组。

我们可以使用concatenate()函数将两个数组沿着某个维度合并,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(np.concatenate((arr1, arr2)))  # 输出 [1 2 3 4 5 6]

我们还可以使用vstack()hstack()函数将两个数组水平或垂直堆叠在一起,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 垂直堆叠
print(np.vstack((arr1, arr2)))  # 输出 [[1 2 3] [4 5 6]]

# 水平堆叠
print(np.hstack((arr1, arr2)))  # 输出 [1 2 3 4 5 6]

我们还可以使用split()函数将一个数组拆分成多个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(np.split(arr, 5))  # 输出 [array([1]), array([2]), array([3]), array([4]), array([5])]

这会将数组拆分成5个一维数组,每个数组中只包含一个元素。

七、综合示例

现在,我们将使用Numpy中的函数实现一个简单的数据分析和建模的例子。

示例:假设你有100个学生的成绩,你想计算他们的平均成绩、最高成绩和最低成绩。

首先,我们用random()函数生成100个随机数,并使用mean()max()min()函数计算它们的平均值、最高值和最低值,代码示例:

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("平均成绩:", np.mean(grades))
print("最高成绩:", np.max(grades))
print("最低成绩:", np.min(grades))

接下来,我们将使用histogram()函数生成一个成绩的直方图,代码示例:

import matplotlib.pyplot as plt
import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
hist, bins = np.histogram(grades, bins=10, range=(50, 100))

plt.hist(grades, bins=10, range=(50, 100))
plt.show()

最后,我们将使用percentile()

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("90%的成绩高于:", np.percentile(grades, 90))

Cela affichera [1 2 3 4 5], indiquant qu'il s'agit d'un tableau. Un tableau dimensionnel a été créé.

Nous pouvons également créer un tableau bidimensionnel, exemple de code : 🎜rrreee🎜Cela affichera : 🎜rrreee🎜Indique qu'un tableau bidimensionnel est créé. 🎜🎜2. Attributs du tableau🎜🎜Utilisez les attributs ndim, shape et size dans Numpy pour obtenir les dimensions, la forme et le nombre d'éléments de le tableau, Exemple de code : 🎜rrreee🎜 3. Opérations sur les tableaux 🎜🎜Les tableaux Numpy peuvent effectuer des opérations telles que l'addition, la soustraction, la multiplication et la division. Tout d'abord, regardons l'opération d'ajout d'un scalaire à un tableau. L'exemple de code : 🎜rrreee🎜 signifie que 2 est ajouté à chaque élément du tableau. 🎜🎜L'étape suivante est l'opération d'ajout de deux tableaux. Exemple de code : 🎜rrreee🎜 signifie ajouter les éléments correspondants dans les deux tableaux. 🎜🎜Numpy propose également des opérations spécifiques, telles que : 🎜
  • 🎜Opération Square : utilisez la fonction power(), exemple de code : 🎜rrreee🎜Cela signifie que chaque élément du array Les éléments sont au carré. 🎜
  • 🎜Opération racine carrée : utilisez la fonction sqrt(), exemple de code : 🎜rrreee🎜Cela signifie que chaque élément du tableau a été mis au carré. 🎜
  • 🎜Sum : utilisez la fonction sum(), exemple de code : 🎜rrreee🎜Cela signifie additionner tous les éléments du tableau. 🎜
  • 🎜Trouver les valeurs maximales et minimales : utilisez les fonctions max() et min(), exemple de code : 🎜rrreee
  • 🎜4. Indexation et découpage des tableaux🎜🎜Nous pouvons utiliser des indices pour accéder aux éléments du tableau, exemple de code : 🎜rrreee🎜Nous pouvons également découper le tableau, exemple de code : 🎜rrreee🎜5. 🎜Numpy fournit quelques fonctions pour modifier la forme des tableaux, dont la fonction reshape(). Nous pouvons utiliser la fonction reshape() pour remodeler le tableau. Exemple de code : 🎜rrreee🎜Cela renverra un tableau bidimensionnel avec une forme de (5, 1) : 🎜rrreee🎜 6. Fusion. de tableaux et de fractionnement 🎜🎜Numpy fournit des fonctions pour fusionner et diviser des tableaux. 🎜🎜Nous pouvons utiliser la fonction concatenate() pour fusionner deux tableaux selon une certaine dimension, exemple de code : 🎜rrreee🎜Nous pouvons également utiliser vstack() et hstack() empile deux tableaux ensemble horizontalement ou verticalement, exemple de code : 🎜rrreee🎜Nous pouvons également utiliser la fonction split() pour diviser un tableau en plusieurs tableaux, exemple de code : 🎜rrreee🎜Cela divisera le tableau en 5 tableaux unidimensionnels, chacun contenant un seul élément. 🎜🎜7. Exemple complet🎜🎜Maintenant, nous allons utiliser les fonctions de Numpy pour implémenter un exemple simple d'analyse et de modélisation de données. 🎜🎜Exemple : Supposons que vous ayez les scores de 100 élèves et que vous souhaitiez calculer leur score moyen, leur score le plus élevé et leur score le plus bas. 🎜🎜Tout d'abord, nous utilisons la fonction random() pour générer 100 nombres aléatoires, et utilisons mean(), max() et La fonction min() calcule leurs valeurs moyennes, maximales et minimales, exemple de code : 🎜rrreee🎜Ensuite, nous utiliserons la fonction histogram() pour générer un histogramme des scores, Code exemple : 🎜rrreee🎜Enfin, nous utiliserons la fonction percentile() pour calculer le percentile de la note. Exemple de code : 🎜rrreee🎜Ce qui précède sont les fonctions Numpy courantes résumées dans cet article. peut nous aider à mettre en œuvre l’analyse et la modélisation des données. J'espère que ces exemples de codes pourront aider les lecteurs à mieux comprendre. 🎜

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