Achsen und Abmessungen in Numpy

不言
Freigeben: 2018-04-18 11:01:28
Original
4344 Leute haben es durchsucht

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.]]
Nach dem Login kopieren

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]]])
Nach dem Login kopieren

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]])
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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]])
Nach dem Login kopieren

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]])
Nach dem Login kopieren

-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]])
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!