Maison >développement back-end >Tutoriel Python >Explication détaillée de la création de tableaux dans le didacticiel Python NumPy

Explication détaillée de la création de tableaux dans le didacticiel Python NumPy

WBOY
WBOYavant
2022-08-26 11:59:552751parcourir

【Recommandation associée : Tutoriel vidéo Python3

Utilisez List pour créer un tableau

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

Utiliser la fonction de tableau pour créer un tableau

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

Utilisez les méthodes numpy pour créer des tableaux

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.]]

Remodeler le tableau

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]

Flat Array

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]

Méthodes pour créer nouveau tableau de la forme et du type donnés sans initialiser les entrées

empty_like() Renvoie un nouveau tableau de la même forme et du même type que le tableau donné eye() Renvoie un tableau 2D, Le la ligne diagonale est 1 et les autres positions sont 0. identity()Renvoie un tableau d'identités ones()Renvoie un nouveau tableau de la forme et du type donnés, rempli d'une one_like()Renvoie celles avec le tableau donné Tableaux de même forme et type zeros() Renvoie un nouveau tableau de la forme et du type donnés, rempli de zéros zeros_like() Renvoie un tableau de zéros de même shape et type comme tableau donné full_like() Renvoie un tableau complet avec la même forme et le même type que le tableau donné. array()Créer un tableau asarray()Convertir l'entrée en tableau asanyarray()Convertir l'entrée en ndarray, mais en sous-classant ndarray ascontiguousarray() Renvoie un tableau contigu en mémoire (ordre C)asmatrix()Interprète l'entrée comme une matricecopy()Renvoie une copie de tableau de l'objet donnéfrombuffer ( )Interpréter le tampon comme un tableau unidimensionnelfromfile()Construire un tableau à partir de données dans un fichier texte ou binaire fromfunction()Construire en exécutant une fonction sur chaque tableau de coordonnées fromiter() Créer un nouveau tableau unidimensionnel à partir d'un objet itérable fromstring() Un nouveau tableau unidimensionnel initialisé à partir de données texte dans une chaîne loadtxt() Charger des données à partir d'un fichier textearange()Renvoie des valeurs régulièrement espacées dans un intervalle donnélinspace()Renvoie des nombres régulièrement espacés dans un intervalle spécifié logspace() Renvoie des nombres uniformément répartis sur une échelle logarithmiquegeomspace()Renvoie des nombres uniformément répartis sur une échelle logarithmique (série géométrique)meshgrid()À partir de coordonnées Vecteur renvoyant la matrice de coordonnées mg débarrasser ()instance nd_grid, qui renvoie une "grille" multidimensionnelle dense ogrid()instance nd_grid, qui renvoie une "grille" multidimensionnelle ouverte diag()Extraire des diagonales ou construire un tableau de diagonalesdiagflat()Créez un tableau 2D prenant l'entrée aplatie comme diagonalestri()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 tril()triangle inférieur du tableautriu()triangle supérieur du tableau vander()génère une matrice de Vandermondemat()interpre c'est le entrée sous forme de matricebmat()construit un objet matriciel à partir d'une chaîne, d'une séquence imbriquée ou d'un tableauTutoriel vidéo Python3
【Recommandations associées :

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer