Maison développement back-end Tutoriel Python Résumé de l'utilisation simple de python numpy

Résumé de l'utilisation simple de python numpy

Aug 21, 2019 pm 05:59 PM
numpy python

Résumé de l'utilisation simple de python numpy

Utilisation simple de Numpy

import numpy as np
Copier après la connexion

1 Créer un objet ndarray

Convertir la liste en ndarray :

>>> a = [1,2,3,4,5]
>>> np.array(a)
array([1, 2, 3, 4, 5])
Copier après la connexion

Obtenir un nombre à virgule flottante aléatoire

>>> np.random.rand(3, 4)
array([[ 0.16215336,  0.49847764,  0.36217369,  0.6678112 ],
     [ 0.66729648,  0.86538771,  0.32621889,  0.07709784],
     [ 0.05460976,  0.3446629 ,  0.35589223,  0.3716221 ]])
Copier après la connexion

Obtenir un nombre entier aléatoire

>>> np.random.randint(1, 5, size=(3,4))
array([[2, 3, 1, 2],
     [3, 4, 4, 4],
     [4, 4, 4, 3]])
Copier après la connexion

Prendre zéro

>>> np.zeros((3,4))
array([[ 0.,  0.,  0.,  0.],
     [ 0.,  0.,  0.,  0.],
     [ 0.,  0.,  0.,  0.]])
Copier après la connexion

Prendre un

>>> np.ones((3,4))
array([[ 1.,  1.,  1.,  1.],
     [ 1.,  1.,  1.,  1.],
     [ 1.,  1.,  1.,  1.]])
Copier après la connexion

Prendre vide (il vaut mieux ne pas l'utiliser, pour en savoir plus, différentes versions renvoient les valeurs sont différentes)

>>> np.empty((3,4))
array([[ 1.,  1.,  1.,  1.],
     [ 1.,  1.,  1.,  1.],
     [ 1.,  1.,  1.,  1.]])
Copier après la connexion

Prendre l'entier zéro ou un

>>> np.ones((3,4),int)
array([[1, 1, 1, 1],
       [1, 1, 1, 1],
       [1, 1, 1, 1]])
>>> np.zeros((3,4),int)
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]])
Copier après la connexion

Imiter la commande de plage pour créer ndarray :

>>> np.arange(2,10,2) # 开始,结束,步长
array([2, 4, 6, 8])
Copier après la connexion

Recommandations associées : "Tutoriel vidéo Python"

Affichage et fonctionnement des attributs ndarray :

Regardez les attributs de ndarray :

>>> a = [[1,2,3,4,5],[6,7,8,9,0]]
>>> b = np.array(a)
>>> b.ndim  #维度个数(看几维)
2
>>> b.shape  #维度大小(看具体长宽)
(5,2)
>>>b.dtype
dtype('int32')
Copier après la connexion

Spécifiez les attributs lors de la création de ndarray :

>>> np.array([1,2,3,4,5],dtype=np.float64)
array([ 1.,  2.,  3.,  4.,  5.])
>>> np.zeros((2,5),dtype=np.int32)
array([[0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0]])
Copier après la connexion

Transfert d'attribut :

>>> a = np.array([1,2,3,4,5],dtype=np.float64)
>>> a
array([ 1.,  2.,  3.,  4.,  5.])
>>> a.astype(np.int32)
array([1, 2, 3, 4, 5])
Copier après la connexion

Trois, Opération simple :

Opération par lots :

>>> a = np.array([1,2,3,4,5],dtype=np.int32)
>>> a
array([1, 2, 3, 4, 5])
>>> a + a
array([ 2,  4,  6,  8, 10])
>>> a * a
array([ 1,  4,  9, 16, 25])
>>> a - 2
array([-1,  0,  1,  2,  3])
>>> a / 2
array([ 0.5,  1. ,  1.5,  2. ,  2.5])
#等等
Copier après la connexion

Changer les dimensions :

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,0]],dtype=np.int32)
>>> a
array([[1, 2, 3, 4, 5],
       [6, 7, 8, 9, 0]])
>>> a.reshape((5,2))
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8],
       [9, 0]])
Copier après la connexion

Conversion de matrice (C'est essentiellement différent de changer la dimension, soyez prudent) :

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,0]],dtype=np.int32)
>>> a
array([[1, 2, 3, 4, 5],
       [6, 7, 8, 9, 0]])
>>> a.transpose()
array([[1, 6],
       [2, 7],
       [3, 8],
       [4, 9],
       [5, 0]])
Copier après la connexion

Perturber (ne peut perturber qu'une seule dimension) :

>>> a = np.array([[1,2],[3,4],[5,6],[7,8],[9,0]],dtype=np.int32)
>>> a
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8],
       [9, 0]])
       
>>> np.random.shuffle(a)
>>> a
array([[9, 0],
       [1, 2],
       [7, 8],
       [5, 6],
       [3, 4]])
Copier après la connexion

4. Découpage et indexation :

Tableau unidimensionnel :

>>> a = np.array(range(10))
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a[3]
3
>>> a[2:9:2]
array([2, 4, 6, 8])
Copier après la connexion

Tableau multidimensionnel :

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,0],[11,12,13,14,15]],dtype=np.int32)
>>> a
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9,  0],
       [11, 12, 13, 14, 15]])
       
>>> a[:, 1:4]
array([[ 2,  3,  4],
       [ 7,  8,  9],
       [12, 13, 14]])
Copier après la connexion

Indice de condition :

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,0],[11,12,13,14,15]],dtype=np.int32)
>>> a
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9,  0],
       [11, 12, 13, 14, 15]])
       
>>> a > 5
array([[False, False, False, False, False],
       [ True,  True,  True,  True, False],
       [ True,  True,  True,  True,  True]], dtype=bool)
>>> a[a>5]
array([ 6,  7,  8,  9, 11, 12, 13, 14, 15])
>>> a%3 == 0
Out[128]: 
array([[False, False,  True, False, False],
       [ True, False, False,  True,  True],
       [False,  True, False, False,  True]], dtype=bool)
>>> a[a%3 == 0]
array([ 3,  6,  9,  0, 12, 15])
Copier après la connexion

5. Fonction (points de connaissances de base numpy)

Fonction de calcul :

np.ceil(): 向上最接近的整数,参数是 number 或 array
np.floor(): 向下最接近的整数,参数是 number 或 array
np.rint(): 四舍五入,参数是 number 或 array
np.isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
np.multiply(): 元素相乘,参数是 number 或 array
np.divide(): 元素相除,参数是 number 或 array
np.abs():元素的绝对值,参数是 number 或 array
np.where(condition, x, y): 三元运算符,x if condition else y
>>> a = np.random.randn(3,4)
>>> a
array([[ 0.37091654,  0.53809133, -0.99434523, -1.21496837],
       [ 0.00701986,  1.65776152,  0.41319601,  0.41356973],
       [-0.32922342,  1.07773886, -0.27273258,  0.29474435]])
>>> np.ceil(a)      
array([[ 1.,  1., -0., -1.],
       [ 1.,  2.,  1.,  1.],
       [-0.,  2., -0.,  1.]])
>>> np.where(a>0, 10, 0)
array([[10, 10,  0,  0],
       [10, 10, 10, 10],
       [ 0, 10,  0, 10]])
Copier après la connexion

Fonction statistique

np.mean():所有元素的平均值
np.sum():所有元素的和,参数是 number 或 array
np.max():所有元素的最大值
np.min():所有元素的最小值,参数是 number 或 array
np.std():所有元素的标准差
np.var():所有元素的方差,参数是 number 或 array
np.argmax():最大值的下标索引值,
np.argmin():最小值的下标索引值,参数是 number 或 array
np.cumsum():返回一个一维数组,每个元素都是之前所有元素的累加和
np.cumprod():返回一个一维数组,每个元素都是之前所有元素的累乘积,参数是 number 或 array
>>> a = np.arange(12).reshape(3,4).transpose()
>>> a
array([[ 0,  4,  8],
       [ 1,  5,  9],
       [ 2,  6, 10],
       [ 3,  7, 11]])
>>> np.mean(a)
5.5
>>> np.sum(a)
66
>>> np.argmax(a)
11
>>> np.std(a)
3.4520525295346629
>>> np.cumsum(a)
array([ 0,  4, 12, 13, 18, 27, 29, 35, 45, 48, 55, 66], dtype=int32)
Copier après la connexion

Fonction de jugement :

np.any(): 至少有一个元素满足指定条件,返回True
np.all(): 所有的元素满足指定条件,返回True
>>> a = np.random.randn(2,3)
>>> a
array([[-0.65750548,  2.24801371, -0.26593284],
       [ 0.31447911, -1.0215645 , -0.4984958 ]])
>>> np.any(a>0)
True
>>> np.all(a>0)
False
Copier après la connexion

Supprimer les doublons :

np.unique(): 去重
>>> a = np.array([[1,2,3],[2,3,4]])
>>> a
array([[1, 2, 3],
       [2, 3, 4]])
>>> np.unique(a)
array([1, 2, 3, 4])
Copier après la connexion

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 de ce site Web
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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 May 06, 2024 pm 03:52 PM

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang Un guide complet sur le débogage et l'analyse des fonctions Golang May 06, 2024 pm 02:00 PM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

See all articles