Python-Anwendung: Numpy Teil 3: Double Array

Doppelte Anordnung

Ein Doppelarray kann in der Mathematik als "Matrix" behandelt werden. Zum Beispiel, wenn Sie np.array schreiben ([Liste, Liste, Liste ...]) Doppelte Array-Daten (ndarray-Typ) werden erstellt.

Nach der Mathematik wird die Hierarchie mehrerer Arrays manchmal als "Dimension" bezeichnet. Ein Doppelarray ist ein zweidimensionales Array und so weiter.

Überprüfen Sie die Anzahl der Warteschlangen

Das Array von nparray ist

shape

Es hat eine Mitgliedsvariable namens.

nparray Array.shape #Wenn Sie dies schreiben, wird die Anzahl der Elemente im Array aufgezeichnet.

Zum Beispiel, wenn Sie ein Doppelarray haben, das einer 2-mal-3-Matrix entspricht Das ndarray-Array .shape hat den Wert (2, 3).

import numpy as np

arr = np.array([[1,2,3],[4,5,6]]) 
print(arr)
print(arr.shape)       

#Ausgabe

[[1 2 3]
 [4 5 6]]

#Die Anzahl der Zeilen und Spalten ist wie unten gezeigt, wobei die Zeile die Anzahl der Listen und die Spalte die Anzahl der Elemente ist.
(2, 3)

Matrixanpassung

Die Form des Arrays ist

ndarray Array.reshape()

Sie können es mit der Methode ändern.

Mit zwei Argumenten a und b

ndarray Array.reshape(a,b)

Wenn Sie schreiben, erhalten Sie die Array-Daten, die der Matrix einer Zeile und einer b-Spalte entsprechen, als Rückgabewert.

Zu diesem Zeitpunkt müssen die Gesamtzahl der Elemente und das Argument der Umformungsmethode übereinstimmen. Wenn Sie -1 für das Argument verwenden, wird es transformiert, indem der entsprechende Wert aus den anderen Argumenten erraten wird.

import numpy as np

arrA = np.array([1,2,3,4,5,6]) 
print(arrA)
arrB = arrA.reshape(2,3)
print(arrB)
arrC = arrA.reshape(-1,2)
print(arrC)


#Ausgabe

# arrA
[1 2 3 4 5 6]

# arrB:Passen Sie die Anzahl der Matrizen aus dem Argument an
[[1 2 3]
 [4 5 6]]

# arrC: -Passen Sie vom Argument 1 zum Argument der Spalte 2 an
[[1 2]
 [3 4]
 [5 6]]

Indexreferenz und Slice

Wenn Sie für ein zweidimensionales Array nur einen Index angeben, können Sie eine beliebige Zeile im Array abrufen.

arr = np.array([[1, 2 ,3], [4, 5, 6]])
print(arr[1])
#Ausgabeergebnis
[4 5 6]

Sie müssen zwei Indizes angeben, um zum einzelnen Element oder Skalarwert zu gelangen. Das heißt, Zugriff wie arr [1] [2] oder arr [1, 2].

arr [1] [2] greift auf das dritte Element des Arrays zu, das von arr [1] abgerufen wurde. In arr [1, 2] wird auf dasselbe Element zugegriffen, indem die Achsen des zweidimensionalen Arrays angegeben werden.

arr = np.array([[1, 2 ,3], [4, 5, 6]])
print(arr[1][2])
print(arr[1,2])
#Ausgabeergebnis
6
6

Es ist auch möglich, Slices zu verwenden, wenn auf ein zweidimensionales Array verwiesen wird.

arr = np.array([[1, 2 ,3], [4, 5, 6]])
print(arr[1,1:])
#Ausgabeergebnis
[5 6]

# :Extrahiert die Elemente nach und vor dem Element mit.

axis

Aus einem zweidimensionalen Array wird das Konzept der Achse wichtig.

Achse ist wie eine Koordinatenachse. Es gibt viele Situationen, in denen Sie die Achse als Argument für eine NumPy-Funktion festlegen können.

Im Fall eines zweidimensionalen Arrays wird die Achse wie in der folgenden Abbildung gezeigt eingestellt. Die Achse, die jede Spalte verarbeitet, ist Achse = 0 Die Achse, die Zeile für Zeile verarbeitet, ist Achse = 1 Es bedeutet das.

image.png

Betrachten Sie beispielsweise die sum () -Methode eines ndarray-Arrays. Sie können Elemente zusammen mit ndarray.sum () hinzufügen.

mport numpy as np

arr = np.array([[1, 2 ,3], [4, 5, 6]])

print(arr.sum()) # sum()Wenn im Argument von nichts angegeben ist, ist der Gesamtwert ein Skalar (Ganzzahl, Bruch usw.).
print(arr.sum(axis=0)) # axis=Wenn 0 angegeben ist, wird eine vertikale Addition durchgeführt und die Elemente werden zu einem eindimensionalen Array mit drei Elementen.
print(arr.sum(axis=1)) # axis=Wenn Sie 1 angeben, können Sie sehen, dass die Elemente horizontal hinzugefügt werden, um zwei eindimensionale Arrays zu bilden.
#Ausgabeergebnis
21
[5 7 9]
[ 6 15]

# axis=Element bei 0(Nach Indexnummer)
# axis=1 für jede Primärliste

Siehe ausgefallener Index

Es ist eine Methode zur Verwendung eines Indexarrays als Indexreferenz.

So extrahieren Sie Zeilen aus einem ndarray-Array in einer bestimmten Reihenfolge Übergeben Sie ein Array mit der Reihenfolge als Indexreferenz.

[[]] #Verwenden Sie doppelte Klammern für ausgefallene Indexreferenzen.
arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) 

#Extrahieren Sie die Elemente in der 3., 2. und 0. Zeile in dieser Reihenfolge und erstellen Sie ein neues Element.
#Indexnummern beginnen bei 0.
print(arr[[3, 2, 0]]) 
#Ausgabeergebnis
[[7 8]
 [5 6]
 [1 2]]

Translokationsmatrix

In einer Matrix wird das Vertauschen von Zeilen und Spalten als Translokation bezeichnet. So transponieren Sie ein ndarray-Array

np.transpose()

Wie man das benutzt

.T

Es gibt zwei Möglichkeiten

image.png

import numpy as np

arr = np.arange(10).reshape(2, 5)

#Transponieren und geben Sie die Variable arr aus
print(arr.T)
#Oder
print(arr.transpose())

#Ausgabe
[[0 5]
 [1 6]
 [2 7]
 [3 8]
 [4 9]]

Sortieren

Es gibt verschiedene Sortiermöglichkeiten, die alle unterschiedliche Verwendungszwecke haben.

sort() Das ndarray-Array kann sowohl nach sort () als auch nach dem Listentyp sortiert werden.

Bei einem zweidimensionalen Array werden die Elemente nach 0 sortiert, wenn 0 als Argument verwendet wird.

import numpy as np
arr = np.array([[15, 5, 200], [2, 100, 60], [100, 50, 8]])
print(arr)
arr.sort(axis=0) #Es ist in der Spalte hier angegeben.
print(arr)

#Ausgabeergebnis

[[ 15   5 200]
 [  2 100  60]
 [100  50   8]]

[[  2   5   8]
 [ 15  50  60]
 [100 100 200]]

Wenn Sie 1 als Argument verwenden, werden die Elemente zeilenweise sortiert.

import numpy as np
arr = np.array([[15, 5, 200], [2, 100, 60], [100, 50, 8]])
print(arr)
arr.sort(1) #Geben Sie 1 ohne Achse an und geben Sie Zeile für Zeile an
print(arr)
#Ausgabeergebnis
[[ 15   5 200]
 [  2 100  60]
 [100  50   8]]

[[  5  15 200]
 [  2  60 100]
 [  8  50 100]]

np.sort()

Sie können auch mit np.sort () sortieren. Bitte beachten Sie jedoch, dass die Verwendung unterschiedlich ist.

Die Methode von arr, mit der die Daten gespeichert wurden

arr.sort() #Sortieren Sie die Daten in arr.

auf der anderen Seite

np.sort(arr) #Das arr bleibt gleich und erstellt ein weiteres Array mit sortierten Daten.

Bei Verwendung von np.sort () können die sortierten Daten nur verwendet werden, wenn die neu erstellte Variable zugewiesen ist.

import numpy as np
arrA = np.array([[15, 5, 200], [2, 100, 60], [100, 50, 8]])
arrB = np.sort(arrA)
print(arrA) #Anordnung vor dem Sortieren
print(arrB) #Anordnung nach dem Sortieren

#Sortiermethode (arr.sort()Wenn Sie ähnlichen Code mit) schreiben, ändert sich das Verhalten vollständig.

import numpy as np
arrA = np.array([[15, 5, 200], [2, 100, 60], [100, 50, 8]])
arrB = arrA.sort()
print(arrA) #Anordnung nach dem Sortieren
print(arrB) # None

# np.Durch Hinzufügen wird ein neues Array erstellt.


Bei Verwendung von np.sort () können die sortierten Daten nur verwendet werden, wenn die neu erstellte Variable zugewiesen ist.

NumPy wurde für die Verarbeitung einer großen Datenmenge entwickelt und verwendet ein für ein Python-Modul seltenes Design, z. B. die Rückgabe von None an einige Methoden.

argsort () -Methode: Gibt einen "Array-Index" zurück.

Häufig verwendete Methoden beim maschinellen Lernen

argsort() #Da ist auch das.

Die argsort () -Methode gibt den sortierten "Array-Index" zurück.

import numpy as np
arr = np.array([15, 30, 5])
arr.argsort()
#Bei der Ausführung werden die folgenden Ergebnisse erhalten.

#Ausgabeergebnis
[2 0 1]

Wenn Sie arr.sort () ausführen, ist dies [5 15 30]. Das Element "5", das sich im ursprünglichen Array in der "Sekunde" befand, ist das 0 .. Das Element "15", das im ursprünglichen Array in der "0" war, ist das 1 .. Das Element "30", das im ursprünglichen Array im "ersten" enthalten war, wird zum zweiten Element.

Wenn Sie also [15, 30, 5] mit .argsort () ausführen Der Wert wird als [2 0 1] zurückgegeben, da er in der angegebenen Reihenfolge zum "2., 0., 1." Element wird.

Matrixberechnung

Für Funktionen, die Matrixberechnungen durchführen

np.dot(a,b) #Gibt das Matrixprodukt zweier Matrizen zurück
np.linalg.norm(a) #Gibt die Norm zurück

Durch Berechnen des Produkts der Matrix wird eine neue Matrix erstellt, deren Elemente das innere Produkt des Zeilenvektors und des Spaltenvektors in der Matrix sind.

Norm

Die Norm gibt die Länge des Vektors zurück Es ist die Summe der quadratischen Werte der Elemente, die mit der Wurzel bedeckt sind.

image.png

Statistische Funktion

Eine statistische Funktion ist eine Funktion, die eine mathematische Verarbeitung ausführt, die auf dem gesamten ndarray-Array oder einer bestimmten Achse zentriert ist. Oder eine Methode.

np.argmax() #Indexnummer des Maximalwerts des Elements
np.argmin() #Indexnummer des Mindestwerts des Elements

Darüber hinaus funktionieren diese Funktionen

np.average() #durchschnittlich

Bis auf diesen Durchschnitt

Auf das ndarray-Array anwenden

ndarray.mean()
ndarray.max()

Es gibt auch Methoden für das Objekt selbst, wie z.

Als eine Sache, die in der Statistik behandelt wird

np.std() #Standardabweichung
np.var() #Verteilt

Und so weiter.

np.sum() 
#Jetzt durch Angabe mit Achse
#Als ob wir uns entscheiden könnten, auf welche Achse wir uns konzentrieren sollen
np.mean()
mean()
#Mit diesen können Sie die Achse auf die gleiche Weise angeben.
np.argmax()
argmax()
np.argmin()
argmin()

#Für diese Methoden
#Gibt den maximalen oder minimalen Index für jede durch die Achse angegebene Achse zurück.

Übertragung

Bei der Berechnung zwischen ndarray-Arrays unterschiedlicher Größe Ein Prozess namens Broadcast wird automatisch ausgeführt.

Broadcast beim Rechnen zwischen zwei ndarray-Arrays Die Zeilen und Spalten des kleineren Arrays werden automatisch mit dem größeren Array ausgerichtet.

Wenn die Anzahl der Zeilen in den beiden Arrays nicht übereinstimmt Kopieren Sie die fehlenden Zeilen aus den vorhandenen Zeilen entsprechend der Anzahl der Zeilen mit den wenigsten Zeilen.

Wenn die Anzahl der Spalten nicht übereinstimmt, wird der gleiche Vorgang ausgeführt. Nicht alle Arrays können gesendet werden. Broadcasting ist möglich, wenn alle Elemente wie in der folgenden Abbildung dargestellt verarbeitet werden.

image.png

x = np.arange(6).reshape(2, 3)
print(x + 1)
#Ausgabeergebnis
[[1 2 3]
 [4 5 6]]

Recommended Posts

Python-Anwendung: Numpy Teil 3: Double Array
Berechnung des Python-Numpy-Arrays
Python-Anwendung: Pandas Teil 1: Basic
Python-Anwendung: Pandas Teil 2: Serie
numpy Teil 1
Indexierter Zugriff auf das Python-Numpy-Array
Python-Anwendung: Datenverarbeitung # 3: Datenformat
Mehrdimensionale Array-Berechnung ohne Numpy Teil 2
numpy Teil 2
Python-Anwendung: Datenvisualisierung Teil 1: Grundlegend
Anwendung von Python: Datenvisualisierung Teil 3: Verschiedene Grafiken
Python / numpy> list (numpy array) Datei speichern / laden
QGIS + Python Teil 2
QGIS + Python Teil 1
Mehrdimensionales Python-Array
[Anfänger] Python-Array
NumPy-Array-Operation (3)
# Python-Grundlagen (#Numpy 1/2)
# Python-Grundlagen (#Numpy 2/2)
Python: Scraping Teil 1
NumPy-Array-Operation (1)
Grundlagen des Python-Arrays
Python #Numpy Basics
Lösung Wenn Sie Python 3.6 oder höher verwenden, benötigen Sie die enum34-Bibliothek ebenfalls nicht. Deinstallieren Sie sie daher und verwenden Sie das Standard-Enum-Modul. Enum34 deinstallieren Führen Sie nach der Deinstallation von enum34 erneut `pip install optuna` aus und Sie haben Optuna erfolgreich installiert! Python, pip, Python3, enum, OptunaPython3 Beginn Teil 1
[Python] Numpy Memo
Python: Scraping Teil 2
[Python numpy] Geben Sie den Index des Arrays dynamisch an
Anwendung von Python: Datenverarbeitung Teil 2: Analyse verschiedener Datenformate
[Python] Strukturiertes Array erstellen (heterogene Daten mit NumPy speichern)
Konvertieren Sie das NumPy-Array "ndarray" in Python [tolist ()]
Python Basic 8 Numpy Test
[Python] Suche (NumPy) ABC165C
Python Basic Memorandum Teil 2
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
[Python] Numpy Daten sortieren
"My Graph Generation Application" von Python (PySide + PyQtGraph) Teil 1
Python-Grundnotiz - Teil 1
Anwendung von Python 3 vars
Python-Anwendung: Pandas # 3: Dataframe
Einführung in Python numpy pandas matplotlib (für ~ B3 ~ part2)
[Python] Array-Slice-Operation
Python Basic - Pandas, Numpy -
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Bildverarbeitung mit Python (Teil 2)
Python mit freeCodeCamp Teil1 studieren
Tipps zum Nachdenken über np.newaxis in Python / Numpy
Python-Memo (für mich): Array
Angrenzende Bilder mit Python Teil 1
Sortieren Sie schnell ein Array in Python 3
Konvertieren Sie numpy int64 in python int
Schaben mit Selen + Python Teil 1
Python: Schiffsüberlebensvorhersage Teil 2
Leeres mehrdimensionales Array in Python
[Python] Berechnungsmethode mit numpy
Python: 3D-Array-Bild (numpy.array)
SMO mit Python + NumPy implementiert
Python-Grammatik-Grundnotiz (1)
Python: Schiffsüberlebensvorhersage Teil 1
Matrixprodukt in Python numpy
Bildverarbeitung mit Python (Teil 1)
Nampre mit Python lösen (Teil 2)