[PYTHON] Eine Liste von Funktionen, die mir mit 100 Numpy-Klopfen begegnet sind und ich dachte "Das ist praktisch!"

Überblick

Während des Trainings der Firma war ich gezwungen, daran zu arbeiten, 100 Numpy zu klopfen, aber es gab viele Probleme, die ich nicht überwinden konnte, ohne die Funktion zu kennen, und ich war mir meines Unwissens sehr bewusst. In diesem Artikel werde ich einige der Funktionen vorstellen, die ich als Memorandum als "praktisch" empfunden habe.

Autorenprofil

Programmierhistorie: ca. 1 Jahr (nur Python) Numpy studierte in diesem Buch.

zunaechst

Wenn Sie zum ersten Mal auf eine Funktion stoßen, ist es überwältigend schneller, Hilfe vor Google zu sehen. Hilfe ist

np.info([Funktionsname])
ex) np.info(np.add)

Wenn es ein Jupyter-Notebook ist

[Funktionsname]?
ex) np.add?

angezeigt durch. Es werden nicht nur die Erläuterungen der Funktion, sondern auch die Arten von Argumenten und Verwendungsbeispiele beschrieben, und die Informationsmenge ist sehr groß. Es kann schmerzhaft sein, wenn Sie nicht daran gewöhnt sind, weil es Englisch ist, aber ich möchte, dass Sie sich darauf beziehen.

Funktion "Es ist bequem"

np.flip Invertieren Sie das Array.

a = np.arange(10)
np.flip(a)
-> array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])

Wenn es sich um einen Vektor handelt, reicht Slice ([:: -1]) aus, scheint jedoch im Fall einer Matrix nützlich zu sein. Für Matrizen können Sie eine Achse angeben, um sie in eine beliebige Richtung zu drehen.

a = np.arange(9).reshape(3,3)
np.flip(a)
-> array([[8, 7, 6],
          [5, 4, 3],
          [2, 1, 0]])

np.flip(a, axis=0)
->array([[6, 7, 8],
         [3, 4, 5],
         [0, 1, 2]])

np.flip(a, axis=1)
-> array([[2, 1, 0],
          [5, 4, 3],
          [8, 7, 6]])

np.eye Generieren Sie eine Einheitsmatrix.

np.eye(3)
-> array([[1., 0., 0., 0.],
          [0., 1., 0., 0.],
          [0., 0., 1., 0.],
          [0., 0., 0., 1.]])

np.diag Extrahieren Sie die diagonalen Komponenten.

a = np.random.randint(0,10, (3,3))
print(a)
-> [[5 2 8]
    [2 7 5]
    [5 1 0]]
p.diag(a)
-> array([5, 7, 0])

np.tile Verbreiten Sie das Array.

a = np.array([[0, 1], [1, 0]])
np.tile(a, (2,2))
-> array([[0, 1, 0, 1],
          [1, 0, 1, 0],
          [0, 1, 0, 1],
          [1, 0, 1, 0]])

np.bincount Zählt die Zahlen (nicht negativ, Typ int) im Array und speichert sie im Index dieses Werts.

a = np.random.randint(0, 10, 10)
print(a)
-> array([8 6 0 8 4 6 2 5 2 1])
np.bincount(a)
-> array([1, 1, 2, 0, 1, 1, 2, 0, 2], dtype=int64)

np.repeat Wiederholt das Element eine bestimmte Anzahl von Malen.

np.repeat(3, 4)
-> array([3, 3, 3, 3])

np.roll Verschiebt das Array um die angegebene Zahl nach rechts.

a = np.arange(10)
np.roll(a, 2)
-> array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7])

np.flatten Konvertieren Sie das ursprüngliche Array in ein eindimensionales Array.

a = np.arange(9).reshape(3,3)
print(a)
-> [[0 1 2]
    [3 4 5]
    [6 7 8]]
b = a.flatten()
print(b)
-> [0 1 2 3 4 5 6 7 8]

np.nonzero Es zeigt Ihnen den Index an, der Werte ungleich Null enthält.

a = np.array([1,0,0,1])
b = np.array([1,1,1,1])
print(np.nonzero(a))
-> (array([0, 3], dtype=int64),)
print(np.nonzero(b))
-> (array([0, 1, 2, 3], dtype=int64),)

np.copysign Konvertiert den Code des ersten Arguments in denselben Code wie das zweite Argument.

a = np.arange(10)
b = np.repeat([1, -1], 5)
np.copysign(a, b)
-> array([ 0.,  1.,  2.,  3.,  4., -5., -6., -7., -8., -9.])

np.intersect1d Extrahiert die gemeinsamen Elemente der beiden Arrays.

a = np.arange(10)
b = np.arange(5, 15)
np.intersect1d(a, b)
-> array([5, 6, 7, 8, 9])

Schließlich

Diese Funktionen werden nicht gespeichert, aber Sie können sie nicht verwenden, ohne sie überhaupt zu kennen. Ich würde mich sehr freuen, wenn die von mir eingeführten Funktionen in Ihrem Kopf bleiben könnten!

Recommended Posts

Eine Liste von Funktionen, die mir mit 100 Numpy-Klopfen begegnet sind und ich dachte "Das ist praktisch!"
Fügen Sie nach und nach eine Liste der Funktionen der Numpy-Bibliothek hinzu --a
Ich dachte darüber nach, warum Python selbst mit dem Gefühl eines Python-Interpreters notwendig ist
Fügen Sie nach und nach eine Liste der Funktionen der Numpy-Bibliothek hinzu --c
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe einen Chat-Chat-Bot mit Tensor2Tensor erstellt und diesmal hat es funktioniert
i! i! ← Dies ist eine Formel
Die Numpy-Funktion, die ich dieses Jahr gelernt habe
Dies und das von Python-Eigenschaften
Rufen Sie eine Liste der Kameraparameter ab, die mit cv2.VideoCapture festgelegt werden können, und machen Sie daraus einen Wörterbuchtyp
Ich habe die Geschwindigkeit der Listeneinschlussnotation für und während mit Python2.7 gemessen.
Ich habe mit Raspberry Pi ein System erstellt, das regelmäßig den Unbehaglichkeitsindex des Raums misst und eine LINE-Benachrichtigung sendet, wenn es sich um einen gefährlichen Wert handelt
Dies und das der Einschlussnotation.
Zusammenfassung der Numpy-Funktionen, die ich nicht kannte
Zeichnen Sie Dreiecksfunktionen mit Numpy und Matplotlib
Ich habe ein Lebensspiel mit Numpy gemacht
Python-Übungsdatenanalyse Zusammenfassung des Lernens, dass ich ungefähr 10 mit 100 Schlägen getroffen habe
Ich möchte ein Element mit numpy in eine Datei schreiben und es überprüfen.
[Linux] Praktische, aber unerwartet unbekannte ursprüngliche Auswahlliste für Befehle