J'ai toujours utilisé uniquement numpy.zeros ou numpy.ones lors de la définition des valeurs initiales avec numpy. En plus de cela, il y avait une méthode pour définir la valeur initiale, numpy.empty, alors écrivez-la. Vérifiez également comment utiliser les paramètres de valeur initiale.
linux pyhton numpy.empty Cet argument ↓
numpy.empty(shape, dtype=float, order='C')
Expérience 1 N'avez rien dans l'argument.
python
>>> import numpy
>>> numpy.empty()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: empty() missing required argument 'shape' (pos 1
J'obtiens une erreur indiquant qu'il n'y a pas d'argument de forme.
Expérience 2 Donnez-lui une forme.
python
>>> import numpy
>>> numpy.empty(shape=1)
array([0.])
>>> numpy.empty(shape=2)
array([-5.73021895e-300, 6.93125508e-310])
>>> numpy.empty(shape=3)
array([0., 0., 0.])
>>> numpy.empty(shape=4)
array([0., 0., 0., 0.])
>>> numpy.empty(shape=5)
array([4.66352184e-310, 4.03179200e-313, 4.66352172e-310, 5.54048513e+228,
7.56680154e+168])
>>> numpy.empty(shape=6)
array([4.66352179e-310, 5.72938864e-313, 6.93125428e-310, 6.93125428e-310,
0.00000000e+000, 1.16707455e-072])
>>> numpy.empty((2,3))
array([[4.66352179e-310, 5.72938864e-313, 6.93125428e-310],
[6.93125428e-310, 0.00000000e+000, 1.16707455e-072]])
>>> numpy.empty(5.6)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object cannot be interpreted as an integer
l'a fait. .. .. À partir de là, il a été constaté que shape = n'est pas nécessaire, que le nombre ne peut pas être un petit nombre et que la valeur initiale peut être 0 selon la forme.
Expérience 3 Avoir un dtype. Puisqu'il a été découvert à partir de l'expérience 1 que la forme est essentielle, nous lui avons également donné une forme.
python
>>> import numpy
>>> numpy.empty(2,dtype=float)
array([-5.73021895e-300, 6.93125508e-310])
>>> numpy.empty(2,dtype=int)
array([-9093133594791772939, 140290164735896])
>>> numpy.empty(2,int)
array([130238442063002869, 140290164735896])
À partir de là, on peut voir que lorsque dtype est défini sur float, la valeur initiale devient un petit nombre, et lorsque dtype est défini sur int, la valeur initiale devient un entier. En outre, il peut être vu de numpy.empty (2, int) que la partie dtype = de l'argument peut être omise.
Expérience 4 Modifier l'ordre = 'C'.
python
>>> import numpy
>>> numpy.empty(2,dtype=float,order='C')
array([-5.73021895e-300, 6.93125508e-310])
>>> numpy.empty(2,dtype=float,order='F')
array([5.73021895e-300, 6.93125508e-310])
>>> numpy.empty(2,dtype=float,order='E')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: order must be one of 'C', 'F', 'A', or 'K' (got 'E')
>>> numpy.empty(2,dtype=float,order='A')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: only 'C' or 'F' order is permitted
À partir de là, on peut voir que seul ordre = 'C' ou ordre = 'F' peut être utilisé. De plus, il n'y avait aucune différence entre order = 'C' et order = 'F'. Par conséquent, je pensais que l'un ou l'autre serait bien.
Recommended Posts