Heim  >  Artikel  >  Backend-Entwicklung  >  Achsen und Abmessungen in Numpy

Achsen und Abmessungen in Numpy

不言
不言Original
2018-04-18 11:01:284302Durchsuche

Der folgende Artikel wird Ihnen ein Verständnis für die Achse und die Dimensionen von Numpy vermitteln. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich sein wird. Werfen wir einen Blick darauf

Das Hauptobjekt von NumPy ist das homogene mehrdimensionale Array. Es handelt sich um eine Tabelle von Elementen (normalerweise Zahlen), die alle vom gleichen Typ sind und durch ein Tupel positiver Ganzzahlen indiziert werden . Die Anzahl der Achsen ist der Rang.

Zum Beispiel sind die Koordinaten eines Punktes im 3D-Raum [1, 2, 1] ein Array mit Rang 1, weil er eine Achse hat von 3. Im unten abgebildeten Beispiel hat das Array den Rang 2 (es ist zweidimensional). Die erste Dimension (Achse) hat eine Länge von 2, die zweite Dimension hat eine Länge von 3.

[[ 1., 0., 0.],
 [ 0., 1., 2.]]

ndarray.ndim

Die Anzahl der Array-Achsen in Python In In der Welt von wird die Anzahl der Achsen als Rang bezeichnet.

>> X = np.reshape(np.arange(24), (2, 3, 4))
  # 也即 2 行 3 列的 4 个平面(plane)
>> X
array([[[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]],
    [[12, 13, 14, 15],
    [16, 17, 18, 19],
    [20, 21, 22, 23]]])

Formfunktion ist eine Funktion in numpy.core.fromnumeric. Seine Funktion besteht darin, die Länge der Matrix zu lesen. Beispielsweise soll Form [0] die Länge der ersten Dimension der Matrix lesen.

Form(x)

(2,3,4)

Form(x )[0]

2

oder

x.shape[0]

2

Sehen wir uns die Zusammensetzung jeder Ebene einzeln an:

>> X[:, :, 0]
array([[ 0, 4, 8],
    [12, 16, 20]])
>> X[:, :, 1]
array([[ 1, 5, 9],
    [13, 17, 21]])
>> X[:, :, 2]
array([[ 2, 6, 10],
    [14, 18, 22]])
>> X[:, :, 3]
array([[ 3, 7, 11],
    [15, 19, 23]])

Das heißt , Beim Neuanordnen von np.arange(24)(0, 1, 2, 3, ..., 23) in Richtung mehrerer Achsen eines mehrdimensionalen Arrays wird die letzte Achse zuerst zugewiesen (für ein zweidimensionales). arrayDas heißt, die Richtung der Zeile wird zuerst zugewiesen, und für ein dreidimensionales Array wird zuerst die Richtung der Ebene zugewiesen)

reshpae, ist eine Methode in der Array-Objekt, mit dem die Form des Arrays geändert werden kann.

Zweidimensionales Array

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
d=a.reshape((2,4)) 
print d

Dreidimensionale Anordnung

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
f=a.reshape((2, 2, 2)) 
print f

Das Prinzip der Formänderung besteht darin, dass die Array-Elemente können sich nicht ändern. Es ist beispielsweise falsch, so zu schreiben, weil sich die Array-Elemente geändert haben.

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
print a.dtype 
e=a.reshape((2,2)) 
print e

Hinweis: Das durch Reshape generierte neue Array und das ursprüngliche Array teilen sich denselben Speicher, d. h. Wenn die Elemente eines Arrays geändert werden, ändert sich auch das andere Array.

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
e=a.reshape((2, 4)) 
print e 
a[1]=100 
print a 
print e

Die Bedeutung des Umformfunktionsparameters -1 in Python

a=np.arange(0, 60, 10)
>>>a
array([0,10,20,30,40,50])
>>>a.reshape(-1,1)
array([[0],
[10],
[20],
[30],
[40],
[50]])

Wenn es als a.reshape(1,1) geschrieben ist, wird ein Fehler gemeldet

ValueError: Array der Größe 6 kann nicht in Form (1,1) umgeformt werden

>>> a = np.array([[1,2,3], [4,5,6]])
>>> np.reshape(a, (3,-1)) # the unspecified value is inferred to be 2
array([[1, 2],
    [3, 4],
    [5, 6]])

-1 bedeutet I Ich bin zu faul, um zu berechnen, welche Zahl ich eingeben soll. Von Python über a und andere Werte abgeleitet 3.

# 下面是两张2*3大小的照片(不知道有几张照片用-1代替),如何把所有二维照片给摊平成一维
>>> image = np.array([[[1,2,3], [4,5,6]], [[1,1,1], [1,1,1]]])
>>> image.shape
(2, 2, 3)
>>> image.reshape((-1, 6))
array([[1, 2, 3, 4, 5, 6],
    [1, 1, 1, 1, 1, 1]])

Verwandte Empfehlungen:

Der Unterschied zwischen Array und Asarray in Numpy



Das obige ist der detaillierte Inhalt vonAchsen und Abmessungen in Numpy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn