[PYTHON] Erhöhen Sie die "Numpy Power" mit [100 Numpy Übungen] (1. bis 10. Frage)

Ich überprüfe Paizas Programmierkenntnisse, aber ich hatte das Gefühl, dass ich das "numpy" -Array beherrschen musste, um vom B-Rang zum A-Rang zu gelangen.

Als ich überprüfte, ob es gute Übungen gab, fand ich "100 numpy Übungen", also versuchte ich es.

100 Übungen zum Thema Numpy werden auf GitHub im Jupyter Notebook-Format veröffentlicht und können lokal heruntergeladen werden, um die Probleme zu lösen.

https://github.com/rougier/numpy-100/

Wählen Sie "Download ZIP" aus der Schaltfläche "Klonen oder Herunterladen" auf der obigen Seite, um die gesamte Datei lokal herunterzuladen.

Darin befindet sich etwas namens "100_Numpy_exercises.ipynb". Dies ist eine Sammlung von Problemen. Öffnen Sie sie also im Jupyter-Notizbuch.

Wenn Sie die erste Beschreibung lesen

Run the initialize.py module, then for each question you can query the answer or an hint with hint(n) or answer(n) for n question number.

Es gibt. Von der ersten Zelle

100_Numpy_exercises.ipynb


%run initialise.py

Es scheint, dass Hinweise durch Hinweis (Fragennummer) und Antworten durch Antwort (Fragennummer) angezeigt werden.

Als ich versuchte, es sofort auszuführen, bekam ich die Fehlermeldung "Es gibt kein Modul namens mdutils" Ich habe ein Modul namens mdutils mit pip install mdutils installiert und es hat funktioniert.

Lösen wir es jetzt. Zunächst die 1. bis 10. Frage.

  1. Import the numpy package under the name np (★☆☆)

** "Import numpy mit dem Namen np" **

Das ist einfach, nicht wahr?

100_Numpy_exercises.ipynb-(1)answer


import numpy as np

answer(1)

  1. Print the numpy version and the configuration (★☆☆)

** "Numpy-Version und Einstellungen anzeigen" **

100_Numpy_exercises.ipynb-(2)answer


print(np.__version__)
np.show_config()

Das Ausführungsergebnis wird wie unten gezeigt angezeigt.

100_Numpy_exercises.ipynb-(2)output


1.18.1
blas_mkl_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/ProgramData/Anaconda3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/ProgramData/Anaconda3\\Library\\include']
blas_opt_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/ProgramData/Anaconda3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/ProgramData/Anaconda3\\Library\\include']
lapack_mkl_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/ProgramData/Anaconda3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/ProgramData/Anaconda3\\Library\\include']
lapack_opt_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/ProgramData/Anaconda3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/ProgramData/Anaconda3\\Library\\include']

Was wird mit show_config () überprüft ...?

  1. Create a null vector of size 10 (★☆☆)

** "Erstellen Sie ein eindimensionales Array der Größe 10 und alle Elemente sind" 0 "" **

Sie können ein Array mit null Elementen mit np.zeros (size) generieren.

100_Numpy_exercises.ipynb-(3)answer


Z = np.zeros(10)
print(Z)

Ausführungsergebnis

100_Numpy_exercises.ipynb-(3)output


[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

Es ist in Ordnung.

  1. How to find the memory size of any array (★☆☆)

** "Woher weiß ich die Speichergröße eines Arrays? 』**

Wenn Array ein Array ist Sie können die Anzahl der Elemente im Array mit array.size und die Anzahl der Bytes pro Element mit array.itemsize anzeigen. Daher kann die Speichergröße des gesamten Arrays mit array.size * array.itemsize berechnet werden.

100_Numpy_exercises.ipynb-(4)answer


Z = np.zeros((10,10))
print("%d bytes" % (Z.size * Z.itemsize))

Ausführungsergebnis

100_Numpy_exercises.ipynb-(4)output


800 bytes
  1. How to get the documentation of the numpy add function from the command line? (★☆☆)

** "Wie sehe ich die Dokumentation für die Funktion numpy add über die Befehlszeile?" 』**

In der offiziellen Antwort ``%run `python -c "import numpy; numpy.info(numpy.add)"``` Es war, aber

100_Numpy_exercises.ipynb-(5)answer


np.add?

Aber du kannst es sehen, also denke ich, dass es auch hier in Ordnung ist.

6. Create a null vector of size 10 but the fifth value which is 1 (★☆☆)

*"Die Größe ist 10, alle Elemente"0"Erstellen Sie ein eindimensionales Array. Das fünfte Element ist jedoch"1"Sein. 』*

Dies ist eine Anwendung von Problem 3. Erste np.zeros()Alles in"0"Nach dem Erstellen des Arrays das fünfte Element"1"Umschreiben an.

100_Numpy_exercises.ipynb-(6)answer


Z = np.zeros(10)
Z[4] = 1
print(Z)

Ausführungsergebnis

100_Numpy_exercises.ipynb-(6)output


[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

7. Create a vector with values ranging from 10 to 49 (★☆☆)

"Erstellen Sie ein Array mit Elementen von 10 bis 49"

Mit anderen Worten, Sie müssen nur eine Gleichheitssequenz mit einer Toleranz von 1 erstellen.np.arange()Wird genutzt.

np.arange(start, stop, step)Es ist wie man es benutzt. Diesmal starten=10、stop=50、step=Es wird 1 sein. ※step=Wenn es 1 ist, kann der Schritt weggelassen werden.

100_Numpy_exercises.ipynb-(7)answer


Z = np.arange(10,50,1)
print(Z)

100_Numpy_exercises.ipynb-(7)output


[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]

8. Reverse a vector (first element becomes last) (★☆☆)

"Kehren Sie die Anordnung um(Damit das erste Element das letzte ist)』

Ist es auch eine Funktion, die die Reihenfolge des Arrays umkehrt? Als ich darüber nachdachte und mir den Hinweis ansah ...

hint: array[::-1]

Ich sehe, Sie können einfach Scheiben verwenden und die Reihenfolge umkehren.

100_Numpy_exercises.ipynb-(8)answer


Z = np.arange(1,10)
print("Z:", Z)
Z_reverse = Z[::-1]
print("Z_reverse:", Z_reverse)

Ausführungsergebnis

100_Numpy_exercises.ipynb-(8)output


Z: [1 2 3 4 5 6 7 8 9]
Z_reverse: [9 8 7 6 5 4 3 2 1]

9. Create a 3x3 matrix with values ranging from 0 to 8 (★☆☆)

"3 Zeilen und 3 Spalten Array(Elemente sind 0-8)Machen

Erstellen Sie zuerst ein eindimensionales Array und formen Sie es dann neu()Ich denke, es ist einfach, es mit in 3 Zeilen und 3 Spalten umzuwandeln.

100_Numpy_exercises.ipynb-(9)answer


Z = np.arange(0,9)
 Z = np.Reshape (Z, (3,3)) # Z ist eine 3 × 3 2D-Array-Transformation
print(Z)

Ausführungsergebnis

100_Numpy_exercises.ipynb-(9)output


[[0 1 2]
 [3 4 5]
 [6 7 8]]

10. Find indices of non-zero elements from [1,2,0,0,4,0](★☆☆)

『[1,2,0,0,4,0]Aus dem Array"Nicht 0"Finde den Index des Elements “

np.nonzero(a) #a ist ArrayGibt den Index des Nicht-Null-Elements des Arrays a zurück.

100_Numpy_exercises.ipynb-(10)answer


Z = np.array([1,2,0,0,4,0])
print(np.nonzero(Z))

Ausführungsergebnis

100_Numpy_exercises.ipynb-(10)output


(array([0, 1, 4], dtype=int64),)

Das ist alles für jetzt. Nächstes Mal werde ich die 11. bis 20. Frage lösen.

Der nächste Artikel ist hier. Mit [100 numpy Übungen]"numpy Macht"Heben Sie den Boden an(11. bis 20. Frage)

Recommended Posts

Erhöhen Sie die "Numpy Power" mit [100 Numpy Übungen] (1. bis 10. Frage)
Erhöhen Sie die "Numpy Power" mit [100 Numpy-Übungen] (11. bis 20. Frage)
So schalten Sie Linux unter Ultra96-V2 aus
Fügen Sie einem leeren Array mit numpy Zeilen hinzu