English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ein ndarray-Array kann nicht nur durch den niedrigeren ndarray-Constructor erstellt werden, sondern auch durch die folgenden Methoden:
Die Methode numpy.empty wird verwendet, um ein Array mit der angegebenen Form (shape), Datenart (dtype) und nicht initialisierten Einträgen zu erstellen:
numpy.empty(shape, dtype = float, order = 'C')
Es gibt ein neues Array mit der gegebenen Form und Typen zurück, ohne Einträge zu initialisieren.
Parameter
Prototyp - Form der leeren Matrix.dtype(optional) - Output-Datentyp des Arrays, z.B. numpy.int8.64.order(optional, Standardwert: 'C') - Es gibt zwei Optionen "C" und "F", die für Zeilen- und Spalten bevorzugte Reihenfolge in der Speicherreihenfolge der Elemente im Computer speicher darstellen.
Rückgabewert: Ein Array mit der Form des gegebenen Arrays, aber ohne initialisierte Daten (beliebige Art und Weise)
>>> import numpy as np >>> np.empty([2, 2) array([[1, 0.], [0., 1.]]) >>> np.empty([2, 2], dtype=int) array([[4607182418800017408, 0], [ 0, 4607182418800017408]) >>>
numpy.empty gibt eine neue Array mit der gleichen Form und Typen wie der gegebene Array zurück.
numpy.empty_like(prototype, dtype=None, order='K', subok=True, shape=None)
Gibt ein neues Array mit der gleichen Form und Typ wie das gegebene Array zurück
Parameter
Prototyp - Die Form und der Datentyp der Quellmatrix definieren diese gleichen Eigenschaften des zurückgegebenen Arrays.dtype - Überschreibt den Datentyp des Ergebnisses.order - Überschreibt das Speicherlayout des Ergebnisses. Wenn prototypeFortran kontinuierlich ist, dann bedeutet ''A'' ''F'', anderenfalls ''C''. ''K'' bedeutet, dass das Layout des Prototyps so weit wie möglich übereinstimmt.subok - Wenn True, wird der neu erstellte Array mit dem Subtyp von 'a' verwendet, andernfalls ist es ein Basistyp-Array. Standard ist True.shape - Überschreibt die Form des Ergebnisses. Wenn order = 'K' und die Anzahl der Größen unverändert bleibt, wird versucht, die Reihenfolge zu beibehalten, anderenfalls wird order = 'C' angenommen.
Rückgabewert: Neues Array mit der Form und Typ des Prototyps, das nicht initialisiert (beliebig) ist.
>>> import numpy as np >>> a = ([1,2,3], [4,5,6']) # a ist 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])
Erstellt ein Array der angegebenen Größe und füllt die Elemente mit Nullen:
numpy.zeros(shape, dtype = float, order = 'C')
Parameter
shape - Form der leeren Matrix.dtype - Output-Datentyp des Arrays, z.B. numpy.int8.64.order - ''{'C', 'F'}'', optional, default: ''C'', speichert Daten in Speicher in Zeilen- (C) oder Spalten- (Fortran)Art.
Rückgabewert: Nullvektorenarray mit der Form, Datentyp und Reihenfolge der gegebenen Matrix.
>>> import numpy as np >>> np.zeros(5) array([0.0, ''', 0.0, ''', 0.0, ''', 0.0, ''']) >>> np.zeros(5,), dtype=int) array([0, ''', 0, ''', 0, ''', 0, ''']) >>> np.zeros(2, 1)) array([[0.]]) [0.]] >>> s = (2,2) >>> np.zeros(2dtype=[('x', ''i'')]4,)4'''), ('y', ''i'') array([(0, '''), (0, ''')], dtype=[('x', ''<i'')])'' # benutzerdefinierter dtype4''),=""''y'',=""''
zeros_like gibt eine Nullmasse mit der gleichen Form und Typ wie die gegebene Matrix zurück.
Parameter
a - Eine Eigenschaft, die die Form und den Datentyp des zurückgegebenen Arrays begrenzt.dtype - Das vom Array benötigte Ausgabedatentyp.order - Überdeckt die Speicheranordnung des Ergebnisses.subok - Wenn True, wird der neu erstellte Array mit dem Subtyp von 'a' verwendet, andernfalls ist es ein Basistyp-Array. Standard ist True.shapeint - Überdeckt die Form des Ergebnisses.Rückgabewerte: Ein Array mit der gleichen Form und dem gleichen Typ von Nullen.
>>> 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.])
Erstellen Sie ein Array mit der angegebenen Form, wobei die Arrayelemente mit 1 um zu füllen:
numpy.ones(shape, dtype=None, order='C')
Parameter
shape - Arrayformdtype - Datentyp, optionalorder - 'C' wird für Zeilenarrays von C verwendet oder 'F' für Spaltenarrays von 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.]])
zeros_like gibt ein Array zurück, das die gleiche Form und den gleichen Typ wie das gegebene Array hat.
numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)
Parameter
a - Eine Eigenschaft, die die Form und den Datentyp des zurückgegebenen Arrays begrenzt.dtype - Das vom Array benötigte Ausgabedatentyp.order - Überdeckt die Speicheranordnung des Ergebnisses.subok - Wenn True, wird der neu erstellte Array mit dem Subtyp von 'a' verwendet, andernfalls ist es ein Basistyp-Array. Standard ist True.shape - Überdeckt die Form des Ergebnisses.
Rückgabewerte: Ein Array mit der gleichen Form und dem gleichen Typ von Nullen.
>>> 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([start,] stop, [step,] dtype=None)
Rückgabewerte: Die Werte im angegebenen Intervall sind gleichmäßig verteilt.
Werte innerhalb des halboffenen Intervalls (d.h. Intervalle, die start enthalten, aber stop nicht) generieren. Für ganzzahlige Parameter ist diese Funktion äquivalent zur eingebauten range-Funktion in Python, aber sie gibt einen ndarray zurück anstatt einer Liste. [start, stop)
Parameter
start - Der Anfang des Intervalls. Das Intervall beinhaltet den Wert. Der Standardwert für den Start ist 0.stop - Der Intervallende. Dieses Intervall beinhaltet den Wert nicht, es sei denn, in einigen Fällen ist step kein Integer, und die Fließkomma-Arundung beeinflusst die Länge von out.step - The spacing between values. For any output, this is the distance between two adjacent values. The default step size is1.dtype - The type of the output array.
Return value: an array of evenly spaced values.
>>> 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)
The numpy.linspace function is used to create a one-dimensional array, which is an arithmetic sequence in the following format:
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
Parameter
start - The starting value of the sequence.stop - The terminating value of the sequence. If endpoint is true, this value is included in the sequence.num - The number of samples to generate with equal steps, the default is50.endpoint - If this value is true, the stop value is included in the sequence, otherwise it is not included, the default is True.retstep - If True, the spacing will be displayed in the generated array, otherwise it will not be displayed.dtype - ndarray's data type.
The following example uses three parameters to set the starting point to 1 ,终止点为 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).reshape([ 1.0) >>> b =np.linspace(1,10,10).reshape([10,1) >>> print(b) [[ 1.] [ 2.] [ 3.] [ 4.] [ 5.] [ 6.] [ 7.] [ 8.] [ 9.] [10.]]
Directly converts Python's basic data types (such as lists, tuples, etc.) to generate 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.asarraySimilar numpy.arrayHowever, the numpy.asarray parameter has only three, which is two less than numpy.array.
numpy.asarray(a, dtype = None, order = None)
Parameter
a - Any form of input parameter, which can be a list, a tuple of a list, a tuple, a tuple of a tuple, a list of tuples, or a multidimensional array.dtype - Data type, optional.order - The number of samples to generate with equal steps, the default is50.endpoint - Optional, there are two options "C" and "F", which represent row-major and column-major order, respectively, of the storage order of elements in computer memory.
>>> 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 wird zur Implementierung dynamischer Arrays verwendet.
numpy.frombuffer akzeptiert den buffer-Inputparameter und liest ihn in Form eines Streams ein, um ihn in ein ndarray-Objekt zu konvertieren.
numpy.frombuffer(buffer, dtype=float, count= -1, offset = 0)
Parameter
buffer - kann jeder Objekttyp sein, der in Form eines Streams gelesen wird.dtype - Rückgabe des Datentyps des Arrays, optionalcount - Anzahl der gelesenen Daten, Standardwert-1Daten lesen. Alle Daten werden gelesen.offset - Startposition der gelesenen Daten, Standardwert 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']
Die Methode numpy.fromiter erstellt ein ndarray-Objekt aus einem iterablen Objekt und gibt ein ein dimensionales Array zurück.
numpy.fromiter(iterable, dtype, count=-1)
Parameter
iterable - Iterierbare Objekte.dtype - Rückgabe des Datentyps des Arrayscount - Anzahl der gelesenen Daten, Standardwert-1Daten lesen. Alle Daten werden gelesen.
>>> import numpy as np >>> # Erstellen eines Listenobjekts mit der range-Funktion >>> list=range(5) >>> it=iter(list) >>> x=np.fromiter(it, dtype=float) >>> print(x) [0. 1. 2. 3. 4.]
Um Modelle effizienter zu trainieren und ihre Leistung zu verbessern, müssen einige Initialisierungen bestimmte Bedingungen erfüllen, wie z.B. eine Normalverteilung oder eine gleichmäßige Verteilung. Hier werden einige der in der np.random-Bibliothek häufig verwendeten Methoden vorgestellt, wie im folgenden Tisch gezeigt.
Funktion | Beschreibung |
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]]