Mémo d'apprentissage / mémorandum
Une bibliothèque typique qui a une bibliothèque de calculs mathématiques abondante et peut effectuer des calculs numériques efficaces.
Type de données de base utilisé dans «Numpy» d'un logiciel de calcul numérique typique.
# Création du type ndarray
import numpy
a = [0, 1, 2, 3]
b = numpy.array (a) #Créer le type ndarray à partir de la liste
print('b = ', b)
c = [1, 2]
d = [2, 3]
e = [3, 4]
f = numpy.array ([c, d, e]) # Créer un type ndarray bidimensionnel
print('f = ', f)
g = numpy.array (a, dtype = numpy.float16) #Créer ndarray en spécifiant le type de données
print('g = ', g)
Résultat d'exécution
b = [0 1 2 3] f = [[1 2] [2 3] [3 4]] g = [0. 1. 2. 3.]
Diverses opérations numériques peuvent être effectuées sur des données et des listes de type ndarray en utilisant les méthodes fournies par Numpy. Les représentatives sont présentées ci-dessous.
import numpy
h = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
i = numpy.median (h) # median
j = numpy.mean (h) # valeur moyenne
k = numpy.std (h) # écart type
l = numpy.var (h) # Distribué
print(i)
print(j)
print(k)
print(l)
Résultat d'exécution
4.5 4.5 2.8722813232690143 8.25
Numpy vous permet d'utiliser le «nan» non numérique pour le non-numérique et le «inf» pour l'infini.
«nan» est la valeur qui apparaît lorsque «0» est divisé par «0». Puisqu'il s'agit d'une valeur spéciale qui renvoie «False» par rapport à n'importe quelle valeur, elle renvoie également «False» par rapport à elle-même. Par conséquent, l'identité avec «nan» peut être confirmée en utilisant «est».
from numpy import nan
m = float32(0) / float32(0)
n = m == nan
o = nan == nan
p = m is nan
print(m)
print(n)
print(o)
print(p)
Résultat d'exécution
nan False False True
ʻInf est une valeur qui apparaît en divisant une valeur par une valeur absolue par
0. Les deux comparaisons utilisant
== et les comparaisons utilisant ʻis
return True
.
from numpy import inf
q = float(10) / float(0)
r = q == inf
s = q is inf
print(q)
print(r)
print(s)
Résultat d'exécution
inf True True
Notez que les listes et les types ndarray
sont tous deux des types de données typiques qui gèrent les tableaux, et bien que leur utilisation soit similaire, il existe quelques différences.
L'opérateur «+» signifie joindre des listes entre des listes et ajouter des valeurs entre des «ndarray». L'opération «+» avec une valeur entière entraînera une erreur dans le cas d'une liste, mais le «ndarray» représente l'ajout d'une valeur entière.
L'opérateur *
provoque une erreur entre les listes, mais représente une multiplication de valeurs entre ndarray
s. L'opération «*» avec une valeur entière représente la répétition de la liste dans le cas d'une liste, et représente la multiplication d'une valeur entière dans le «ndarray».
t = [0, 1, 2]
u = [3, 4, 5]
print(t + u)
# erreur d'impression (t + 2)
# erreur d'impression (t * u)
print(t * 2)
Résultat d'exécution
[0, 1, 2, 3, 4, 5] [0, 1, 2, 0, 1, 2]
ndarray
import numpy
v = numpy.array([0, 1, 2])
w = numpy.array([3, 4, 5])
print(v + w)
print(v + 10)
print(v * w)
print(v * 2)
Résultat d'exécution
[3 5 7] [10 11 12] [ 0 4 10] [0 2 4]
Contrairement aux listes, ndarray
ne peut pas créer de données avec des nombres d'éléments différents dans chaque dimension. Autrement dit, toutes les données créées par le type ndarray
doivent être un tableau multidimensionnel avec le même nombre de lignes et de colonnes. Si vous essayez de créer un tableau à deux dimensions à partir d'une liste de différentes longueurs, la liste et ndarray
se comportent différemment comme suit.
import numpy
x = [[0, 1], [2, 3, 4], [5, 6]]
y = numpy.array([[0, 1], [2, 3, 4], [5, 6]])
print(x)
print(y)
Résultat d'exécution
[[0, 1], [2, 3, 4], [5, 6]] [list([0, 1]) list([2, 3, 4]) list([5, 6])]
Vous pouvez utiliser ,
et :
pour extraire des éléments d'une liste ou ndarray
.
import numpy
z = numpy.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print (z [0, 2]) # Index 2 dans Index 0
print (z [2, 1:]) # Index 1 et supérieur dans l'index 2
print (z [:, 2]) # Index 2 parmi tous les index
Résultat d'exécution
2 [7 8] [2 5 8]
Recommended Posts