Maison >développement back-end >Tutoriel Python >Explication détaillée de la création de tableaux dans le didacticiel Python NumPy
【Recommandation associée : Tutoriel vidéo Python3】
Les tableaux sont utilisés pour stocker plusieurs valeurs dans une variable. Python ne prend pas en charge les tableaux, mais les listes Python peuvent être utilisées à la place.
Exemple :
arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"]
# 用于创建数组的 Python 程序 # 使用列表创建数组 arr=[1, 2, 3, 4, 5] for i in arr: print(i)
Sortie :
1
2
3
4
5
array(type de données , liste de valeurs) la fonction est utilisée pour créez un Array dont le type de données et la liste de valeurs sont spécifiés dans les paramètres.
Exemple :
# 演示 array() 工作的 Python 代码 # 为数组操作导入“array” import array # 用数组值初始化数组 # 用有符号整数初始化数组 arr = array.array('i', [1, 2, 3]) # 打印原始数组 print ("The new created array is : ",end="") for i in range (0,3): print (arr[i], end=" ") print ("\r")
Sortie :
Le nouveau tableau créé est : 1 2 3 1 5
NumPy fournit plusieurs fonctions pour créer un tableau avec les espaces réservés initiaux. de contenu. Cela minimise le besoin de développer la baie, ce qui est une opération coûteuse. Par exemple : np.zeros, np.empty, etc.
numpy.empty(shape, dtype = float, order = 'C') : Renvoie un nouveau tableau de la forme et du type donnés, avec des valeurs aléatoires.
# 说明 numpy.empty 方法的 Python 代码 import numpy as geek b = geek.empty(2, dtype = int) print("Matrix b : \n", b) a = geek.empty([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.empty([3, 3]) print("\nMatrix c : \n", c)
output:
matrice b:
[0 1079574528]
Matrice A:
[[0 0]
[0 0]]
Matrice A:
[[0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
numpy.zeros(shape, dtype = None, order = 'C'): Renvoie un nouveau tableau de la forme donnée et tapez , avec zéro.
# 说明 numpy.zeros 方法的 Python 程序 import numpy as geek b = geek.zeros(2, dtype = int) print("Matrix b : \n", b) a = geek.zeros([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.zeros([3, 3]) print("\nMatrix c : \n", c)
Sortie :
Matrice b :
[0 0]
Matrice a :
[[0 0]
[0 0]]
Matrice c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
Nous pouvons utiliser la méthode reshape
pour remodeler le tableau. Considérons un tableau de formes (a1, a2, a3, ..., aN). Nous pouvons le remodeler et le convertir en un autre tableau de formes (b1, b2, b3, ..., bM).
La seule condition requise est : a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM. (c'est-à-dire que la taille d'origine du tableau reste inchangée.)
numpy.reshape(array, shape, order = 'C') : Remodelez le tableau sans modifier les données du tableau.
# 说明 numpy.reshape() 方法的 Python 程序 import numpy as geek array = geek.arange(8) print("Original array : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(2, 4) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(4 ,2) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 构造 3D 数组 array = geek.arange(8).reshape(2, 2, 2) print("\nOriginal array reshaped to 3D : \n", array)
Sortie :
Tableau original :
[0 1 2 3 4 5 6 7]
tableau remodelé avec 2 lignes et 4 colonnes :
[[0 1 2 3]
[4 5 6 7] ]
tableau remodelé avec 2 lignes et 4 colonnes :
[[0 1]
[2 3]
[4 5]
[6 7]]
Tableau original remodelé en 3D :
[[[0 1]
[2 3]]
[[4 5]
[6 7]]]
Pour créer des séquences de nombres, NumPy fournit une fonction similaire à range, qui renvoie un tableau au lieu d'une liste.
arange Renvoie des valeurs uniformément distribuées dans un intervalle donné. La longueur du pasest spécifiée.
linspace Renvoie des valeurs uniformément distribuées dans un intervalle donné. L'élément avec numéro _ est renvoyé.
arange([start,] stop[, step,][, dtype]) : Renvoie un tableau avec des éléments régulièrement espacés en fonction de l'intervalle. Les intervalles mentionnés sont semi-ouverts, c'est-à-dire [start, stop)
# 说明 numpy.arange 方法的 Python 编程 import numpy as geek print("A\n", geek.arange(4).reshape(2, 2), "\n") print("A\n", geek.arange(4, 10), "\n") print("A\n", geek.arange(4, 20, 3), "\n")
Sortie :
A
[[0 1]
[2 3]]
A
[4 5 6 7 8 9]
A
[ 4 7 10 13 16 19 ]
numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None) : Renvoie l'espace numérique uniformément par intervalles. Comme arange mais au lieu d'étape, il utilise des numéros d'échantillon.
# 说明 numpy.linspace 方法的 Python 编程 import numpy as geek # 重新设置为 True print("B\n", geek.linspace(2.0, 3.0, num=5, retstep=True), "\n") # 长期评估 sin() x = geek.linspace(0, 2, 10) print("A\n", geek.sin(x))
Sortie :
B
(tableau([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
A
[ 0. 0.220397 74 0.42995 636 0,6183698 0,77637192 0,8961922
0,9719379 0,99988386 0.9786557 0.90929743]
Nous pouvons utiliser la méthode flatten pour réduire une copie d'un tableau en une seule dimension. Il accepte un paramètre de commande. La valeur par défaut est "C" (pour l'ordre des lignes principales). Utilisez "F" pour l'ordre principal des colonnes.
numpy.ndarray.flatten(order = 'C') : Renvoie une copie du tableau aplatie en une dimension.
# 说明 numpy.flatten() 方法的 Python 程序 import numpy as geek array = geek.array([[1, 2], [3, 4]]) # 使用扁平化方法 array.flatten() print(array) #使用扁平化方法 array.flatten('F') print(array)
Sortie :
[1, 2, 3, 4]
[1, 3, 2, 4]
Renvoie un nouveau tableau de la même forme et du même type que le tableau donné | |
---|---|
Renvoie un tableau 2D, Le la ligne diagonale est 1 et les autres positions sont 0. | |
Renvoie un tableau d'identités | |
Renvoie un nouveau tableau de la forme et du type donnés, rempli d'une | |
Renvoie celles avec le tableau donné Tableaux de même forme et type | |
Renvoie un nouveau tableau de la forme et du type donnés, rempli de zéros | |
Renvoie un tableau de zéros de même shape et type comme tableau donné | |
Renvoie un tableau complet avec la même forme et le même type que le tableau donné. | |
Créer un tableau | |
Convertir l'entrée en tableau | |
Convertir l'entrée en ndarray, mais en sous-classant ndarray | |
Renvoie un tableau contigu en mémoire (ordre C) | |
Interprète l'entrée comme une matrice | |
Renvoie une copie de tableau de l'objet donné | |
Interpréter le tampon comme un tableau unidimensionnel | |
Construire un tableau à partir de données dans un fichier texte ou binaire | |
Construire en exécutant une fonction sur chaque tableau de coordonnées | |
Créer un nouveau tableau unidimensionnel à partir d'un objet itérable | |
Un nouveau tableau unidimensionnel initialisé à partir de données texte dans une chaîne | |
Charger des données à partir d'un fichier texte | |
Renvoie des valeurs régulièrement espacées dans un intervalle donné | |
Renvoie des nombres régulièrement espacés dans un intervalle spécifié | |
Renvoie des nombres uniformément répartis sur une échelle logarithmique | |
Renvoie des nombres uniformément répartis sur une échelle logarithmique (série géométrique) | |
À partir de coordonnées Vecteur renvoyant la matrice de coordonnées | |
instance nd_grid, qui renvoie une "grille" multidimensionnelle dense | |
instance nd_grid, qui renvoie une "grille" multidimensionnelle ouverte | |
Extraire des diagonales ou construire un tableau de diagonales | |
Créez un tableau 2D prenant l'entrée aplatie comme diagonales | |
un tableau, il y en a un au niveau et en dessous de la diagonale donnée, et il y a des zéros ailleurs | |
triangle inférieur du tableau | |
triangle supérieur du tableau | |
génère une matrice de Vandermonde | |
interpre c'est le entrée sous forme de matrice | |
construit un objet matriciel à partir d'une chaîne, d'une séquence imbriquée ou d'un tableau | |
【Recommandations associées : | Tutoriel vidéo Python3】 |
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!