English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NumPy 创建数组

Un tableau ndarray peut être créé non seulement par le constructeur de base ndarray, mais aussi de plusieurs autres manières.

numpy.empty

La méthode numpy.empty est utilisée pour créer un tableau d'une forme, d'un type de données spécifiés et non initialisé :

numpy.empty(shape, dtype = float, order = 'C')

Retourne un nouveau tableau de forme et de type donnés sans initialiser les éléments.

Parameter

prototype - Forme de l'array de zéros.dtype(optionnel) - Type de données de sortie requis pour l'array, par exemple numpy.int8。La valeur par défaut est numpy.float64。order(optionnel, par défaut : 'C') - Il existe deux options, "C" et "F", qui représentent respectivement l'ordre des lignes et des colonnes dans l'ordre d'empilement des éléments en mémoire de l'ordinateur.

Valeur de retour : tableau de forme donnée, mais les types de données et l'ordre des éléments non initialisés (aléatoires).

>>> import numpy as np
>>> np.empty([2, 2)
array([[1, 0.],
       [0., 1.]])
>>> np.empty([2, 2], dtype=int)
array([[4607182418800017408, 0],
       [ 0, 4607182418800017408])
>>>
Note:Remarque − Les éléments du tableau sont des valeurs aléatoires car ils ne sont pas initialisés.

numpy.empty_like

numpy.empty retourne un nouveau tableau de forme et de type identiques à celui fourni.

numpy.empty_like(prototype, dtype=None, order='K', subok=True, shape=None)

Retourne un nouveau tableau de la même forme et du même type que l'array donné

Parameter

prototype - La forme et le type de l'array source définissent ces mêmes attributs de l'array retourné.dtype - Modifie le type de données du résultat.order - Modifie la disposition en mémoire du résultat. Si prototypeFortran est continu, 'A' représente 'F', sinon c'est 'C'.'K' représente que le prototype essaie de correspondre à la disposition.subok - Si true, le nouveau tableau créé utilisera le sous-type de 'a', sinon il sera un tableau de base. Par défaut, c'est true.shape - Modifie la forme du résultat. Si order ='K' et le nombre de dimensions reste inchangé, essaie de maintenir l'ordre, sinon, suggère order ='C'.

Retour : array non initialisé (données arbitraires) de la même forme et type que l'array original.

>>> import numpy as np
>>> a = ([1,2,3], [4,5,6]]) # a is array-like
>>> np.empty_like(a)
array([[ 6917529027641081856, -6917520256071729910, 98],
       [ 0, 0, 0]])
>>> a = np.array([[1. 2. 3.],[4.5.6.]])
>>> np.empty_like(a)
array([[ 2.68156159e+154, 2.68156159e+154, 3.32479618e+181],
       [ 1.78476163e+185, -1.73059781e-077, 4.21535080e-309])

numpy.zeros

Crée un array de la taille spécifiée, rempli de zéros :

numpy.zeros(shape, dtype = float, order = 'C')

Parameter

shape - Forme de l'array de zéros.dtype - Type de données de sortie requis pour l'array, par exemple numpy.int8。La valeur par défaut est numpy.float64。order - '{'C','F'},optionnel, valeur par défaut : 'C',représente le stockage des données en mémoire dans un ordre de ligne (C) ou de colonne (Fortran).

Retour : tableau de zéros de la même forme, type de données et ordre que l'array donné.

>>> import numpy as np
>>> np.zeros(5)
array([0., 0., 0., 0., 0.])
>>> np.zeros((5,), dtype=int)
array([0, 0, 0, 0, 0])
>>> np.zeros((2, 1))
array([[0.],
       [0.]])
>>> s = (2,2)
>>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype
array([(0, 0), (0, 0)], dtype=[('x', '<i4' ),="" ('y',="" '

numpy.zeros_like

zeros_like renvoie un tableau de zéros de la même forme et du même type que l'array donné.

numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)[source]

Parameter

a - Une propriété limitant la forme et le type de données du tableau retourné.dtype - Le type de données nécessaire pour le tableau.order - Couvre la disposition en mémoire du résultat.subok - Si true, le nouveau tableau créé utilisera le sous-type de 'a', sinon il sera un tableau de base. Par défaut, c'est true.shapeint - Couvre la forme du résultat.

Retourne une matrice composée de zéros d'une forme et d'un type identiques à ceux de l'entrée.

>>> import numpy as np
>>> x = np.arange(6)
>>> x = x.reshape(2, 3))
>>> print(x)
[[0 1 2]
 [3 4 5]]
>>> np.zeros_like(x)
array([[0, 0, 0],
       [0, 0, 0]]
>>> y = np.arange(3, dtype=float)
>>> y
array([0., 1. 2.])
>>> np.zeros_like(y)
array([0., 0., 0.])

numpy.ones

Crée un tableau d'une forme spécifiée, les éléments du tableau étant remplis de 1 Pour remplir :

numpy.ones(shape, dtype=None, order='C')

Parameter

shape - Forme du tableau.dtype - Type de données, optionnelorder - 'C' est utilisé pour les tableaux en lignes de C, ou 'F' pour les tableaux en colonnes FORTRAN

>>> import numpy as np
>>> np.ones(5)
array([1. 1. 1. 1. 1.])
>>> np.ones(5,), dtype=int)
array([1, 1, 1, 1, 1)
>>> np.ones(2, 1))
array([[1.],
       [1.]])
>>> s = (2,2)
>>> np.ones(s)
array([[1. 1.],
       [1. 1.]])

numpy.ones_like

zeros_like retourne un tableau d'une forme et d'un type identiques à ceux de l'entrée.

numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)

Parameter

a - Une propriété limitant la forme et le type de données du tableau retourné.dtype - Le type de données nécessaire pour le tableau.order - Couvre la disposition en mémoire du résultat.subok - Si true, le nouveau tableau créé utilisera le sous-type de 'a', sinon il sera un tableau de base. Par défaut, c'est true.shape - Couvre la forme du résultat.

Retourne une matrice composée de zéros d'une forme et d'un type identiques à ceux de l'entrée.

>>> import numpy as np
>>> x = np.arange(6)
>>> x = x.reshape(2, 3))
>>> x
array([[0, 1, 2],
       [3, 4, 5])
>>> np.ones_like(x)
array([[1, 1, 1],
       [1, 1, 1])
>>> y = np.arange(3, dtype=float)
>>> y
array([0., 1. 2.])
>>> np.ones_like(y)
array([1. 1. 1.])

numpy.arange

numpy.arange([start,] stop, [step,] dtype=None)

Retourne les valeurs à intervalles uniformes dans l'intervalle donné.
Générer des valeurs dans l'intervalle semi-ouvert (c'est-à-dire l'intervalle qui inclut start mais pas stop). Pour les paramètres entiers, cette fonction est équivalente à la fonction intégrée range de Python, mais retourne un ndarray au lieu d'une liste. [start, stop)

Parameter

start - Le début de la période. La période comprend cette valeur. La valeur de départ par défaut est 0.stop - La période de pause prend fin. Cette période ne comprend pas cette valeur, sauf dans certains cas où step n'est pas un entier et l'arrondi des flottants affecte la longueur de out.step - Ecart entre les valeurs. Pour toute sortie, c'est la distance entre deux valeurs adjacentes, la pas d'erreur par défaut étant1。dtype - Type de l'array de sortie.

Retour : tableau d'valeurs uniformément espacées.

>>> import numpy as np
>>> np.arange(3)
array([0, 1, 2)
>>> np.arange(3.0)
array([0., 1. 2.])
>>> np.arange(3,7)
array([3, 4, 5, 6)
>>> np.arange(3,7,2)
array([3, 5)

numpy.linspace

La fonction numpy.linspace est utilisée pour créer un tableau unidimensionnel composé d'une série d'écarts égaux, au format suivant :

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

Parameter

start - Valeur de départ de la séquence.stop - Valeur de terminaison de la séquence. Si endpoint est true, cette valeur est incluse dans la séquence.num - Le nombre de samples à générer avec des pas égaux, par défaut.50。endpoint - Si cette valeur est true, la séquence contient la valeur stop, sinon non, la valeur par défaut est true.retstep - Si True, l'array généré affichera des espaces, sinon non.dtype - Type de données de l'ndarray.

L'exemple suivant utilise trois paramètres, en définissant le point de départ comme 1 ,le point final est 10,数量序列为 10。

>>> import numpy as np
>>> a = np.linspace(1,10,10)
>>> print(a)
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
>>> a = np.linspace(10, 20, 5, endpoint =  False)
>>> print(a)
[10. 12. 14. 16. 18.]
>>> a =np.linspace(1,10,10,retstep= True)
>>> print(a)
(array([ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]), 1.0)
>>> b =np.linspace(1,10,10).reshape([10,1)
>>> print(b)
[[ 1.]
 [ 2.]
 [ 3.]
 [ 4.]
 [ 5.]
 [ 6.]
 [ 7.]
 [ 8.]
 [ 9.]
 [10.]]

numpy.asarray

Convertit directement les types de données de base de Python (comme les listes, les tuples, etc.) en ndarray :

>>> import numpy as np
>>> ls1 = [10, 42, 0, -17, 30]
>>> nd1 =np.array(ls1)
>>> print(nd1)
[ 10 42 0 -17 30]
>>>
>>> print(type(nd1))

numpy.asarraysimilaire numpy.arrayCependant, le paramètre numpy.asarray en a seulement trois, deux de moins que numpy.array.

numpy.asarray(a, dtype = None, order = None)

Parameter

a - Tous types de paramètres d'entrée, tels que les listes, les tuples de listes, les tuples, les tuples de tuples, les listes de tuples, et les tableaux multidimensionnels.dtype - Type de données, optionnel.order - Le nombre de samples à générer avec des pas égaux, par défaut.50。endpoint - Il est possible de choisir entre les options "C" et "F", qui représentent respectivement l'ordre des lignes et des colonnes, et l'ordre de stockage des éléments en mémoire informatique.

>>> import numpy as np
>>> x = [1,2,3]
>>> a = np.asarray(x)
>>> a
array([1, 2, 3)
>>> x = (1,2,3)
>>> a = np.asarray(x)
>>> print(a)
[1 2 3]
>>> x = [(1,2,3),(4,5)]
>>> a = np.asarray(x)
>>> print(a)
[(1, 2, 3) (4, 5)]
>>> x = [1,2,3]
>>> a = np.asarray(x, dtype=float)
>>> print(a)
[1. 2. 3.]

numpy.frombuffer

numpy.frombuffer is used to implement dynamic arrays.
The numpy.frombuffer accepts buffer input parameters and reads in as a stream to convert to ndarray objects.

numpy.frombuffer(buffer, dtype=float, count= -1, offset = 0)
Note:When buffer is a string, Python3 By default, str is Unicode type, so it needs to be converted to bytestring by adding b in front of the original str.

Parameter

buffer - Can be any object, which will be read in as a stream.dtype - Returns the data type of the array, optionalcount - The number of data read, default is-1,read all data.offset - The starting position of the read, default is 0.

>>> import numpy as np
>>> s = b'Hello w3codebox'
>>> a = np.frombuffer(s, dtype='S1')
>>> print(a)
[b'H' b'e' b'l' b'l' b'o' b' ' b'L' b'i' b'd' b'i' b'h' b'u' b'o']

numpy.fromiter

The numpy.fromiter method creates an ndarray object from an iterable object, returning a one-dimensional array.

numpy.fromiter(iterable, dtype, count=-1)

Parameter

iterable - Iterable object.dtype - Returns the data type of the arraycount - The number of data read, default is-1,read all data.

>>> import numpy as np
>>> # Use the range function to create a list object
>>> list=range(5)
>>> it=iter(list)
>>> x=np.fromiter(it, dtype=float)
>>> print(x)
[0. 1. 2. 3. 4.]

Generate an array using the random module

In order to train the model more effectively and improve the performance of the model, some initializations need to meet certain conditions, such as normal distribution or uniform distribution, etc. Several commonly used methods in the np.random module are introduced as shown in the table below.

FunctionDescription
np.random.random生成0到1之间的随机数
np.random.uniform生成均勻分布的随机数
np.random.randn生成标准正态的随机数
np.random.randint生成随机的整数
np.random.normal生成正态分布
np.random.shuffle随机打乱顺序
np.random.seed设置随机数种子
random_sample生成随机的浮点数
>>> import numpy as np
>>> # 生成全是 0 的 3x3 矩阵
>>> nd5 =np.zeros([3, 3)
>>> print("nd5 =\n", nd5)
nd5 =
 [[0. 0. 0.]]
 [0. 0. 0.]
 [0. 0. 0.]]
>>> # 生成全是 1 的 3x3 矩阵
>>> nd6 = np.ones([3, 3)
>>> print("nd6 =\n", nd6)
nd6 =
 [[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
>>>
>>> # 生成 4 阶的单位矩阵
>>> nd7 = np.eye(4)
>>> print("nd7 =\n", nd7)
nd7 =
 [[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
>>> # 生成 4 阶对角矩阵
>>> nd8 = np.diag([1, 8, 3, 10)
>>> print("nd8 =\n", nd8)
nd8 =
 [[ 1 0 0 0]
 [ 0 8 0 0]
 [ 0 0 3 0]
 [ 0 0 0 10]]