** 67,5% ** werden aus den Prüfungsfragen in den vier Bibliotheken NumPy, Pandas, Matplotlib und Scitit-Learn vergeben. Ich denke, wenn Sie dies unterdrücken, werden Sie mit ziemlicher Sicherheit bestehen, also habe ich kurz studiert. Ich hoffe, es wird für diejenigen nützlich sein, die es in Zukunft erhalten werden. (Ich habe die Prüfung noch nicht abgelegt)
NumPy
Numpy nimmt ** 15% ** der Prüfungsfragen ein, und die grundlegende Bedienung ist nicht schwierig. Wenn Sie sie also tatsächlich mehrmals mit dem Jupyter-Notizbuch schreiben, werden Sie sich natürlich daran erinnern.
a1 = np.array([0, 1, 2, 3, 4, 5])
#In 2x3-Array konvertieren
a2 = a1.reshape((2, 3))
a2
array([[0, 1, 2],
[3, 4, 5]])
#ValueError, wenn die Anzahl der Elemente nicht übereinstimmt
a3 = a1.reshape((3, 4))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-23-304b0b5b4ab2> in <module>
----> 1 a3 = a1.reshape((3, 4))
ValueError: cannot reshape array of size 6 into shape (3,4)
rabel, flatten Sowohl rabel als auch flatten erstellen die Sequenz neu, aber rabel gibt eine ** Referenz ** zurück, während flatten eine ** Kopie ** zurückgibt. Wenn es sich um eine Referenz handelt, wird sie als flache Kopie bezeichnet, andernfalls als tiefe Kopie.
#Verbinden Sie die Arrays
a4 = a2.ravel()
a4
array([0, 1, 2, 3, 4, 5])
a5 = a2.flatten()
a5
array([0, 1, 2, 3, 4, 5])
a4[1] = 10
a4
array([ 0, 10, 2, 3, 4, 5])
a5[2] = 20
a5
array([ 0, 1, 20, 3, 4, 5])
# a4(ravel)Der geänderte Teil wird ebenfalls von a2, aber a5 (Abflachen) beeinflusst)Der geänderte Teil wirkt sich nicht auf a2 aus
a2
array([[ 0, 10, 2],
[ 3, 4, 5]])
linspace Erstellen Sie gleichmäßig verteilte Daten, indem Sie einen Bereich angeben
np.linspace(0, 1, 5)
array([0. , 0.25, 0.5 , 0.75, 1. ])
#Diese Ausrichtung wird verwendet, wenn ein Diagramm der Sinusfunktion gezeichnet wird
np.linspace(0, np.pi, 21)
array([0. , 0.15707963, 0.31415927, 0.4712389 , 0.62831853,
0.78539816, 0.9424778 , 1.09955743, 1.25663706, 1.41371669,
1.57079633, 1.72787596, 1.88495559, 2.04203522, 2.19911486,
2.35619449, 2.51327412, 2.67035376, 2.82743339, 2.98451302,
3.14159265])
np.diff Gibt den Unterschied zwischen Elementen zurück
d = np.array([10, 5, 3, 3, 10])
np.diff(d)
#Es gibt einen Unterschied davor und danach
array([-5, -2, 0, 7])
concatenate Verbinden
#Erstellen Sie zwei Arrays
b1 = [1, 3, 5]
b2 = [2, 4, 6]
b3 = np.concatenate([b1, b2])
b3
#Zwei Sequenzen werden verkettet
array([1, 3, 5, 2, 4, 6])
#Erstellen Sie ein zweidimensionales Array
b3 = b3.reshape((2, 3))
b3
array([[1, 3, 5],
[2, 4, 6]])
#Erstellen Sie ein weiteres zweidimensionales Array
b4 = np.array([[10], [20]])
b4
array([[10],
[20]])
#Verkettung zweidimensionaler Arrays
b5 = np.concatenate([b3, b4], axis=1)
b5
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#Gleiches Verhalten mit hstack
np.hstack([b3, b4])
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#Erstellen Sie ein neues eindimensionales Array
b6 = np.array([100, 200, 300, 400])
b6
array([100, 200, 300, 400])
#Verkettung zum Erhöhen der Zeilen mit vstack
b7 = np.vstack([b5, b6])
b7
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20],
[100, 200, 300, 400]])
hsplit, vsplit Teilen eines zweidimensionalen Arrays
#Teilen Sie das in der Verkettung verwendete b7-Array in zwei Teile. Das zweite Argument gibt an, wie viele Spalten verwendet werden sollen.
a1, a2 = nphsplit(b7, [2])
a1
array([[ 1, 3],
[ 2, 4],
[100, 200]])
#Die verbleibenden Spalten des zweiten Arguments sind a2. Zwei Reihen hier.
a2
array([[ 5, 10],
[ 6, 20],
[300, 400]])
#vsplit teilt sich in Zeilenrichtung
a1, a2 = np.vsplit(b7, [2])
a1
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
a2
array([[100, 200, 300, 400]])
T Das Austauschen von Zeilen und Spalten wird als ** Translokation ** bezeichnet
#Verwenden Sie a1, das in der Division verwendet wird.(2×4)Warteschlange
a1
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#In eine 4x2-Matrix invertieren
a1.T
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[10, 20]])
meshgrid Generierung von Grid-Daten Wird beim Zeichnen von Konturlinien und Wärmekarten verwendet. Aus den x-Koordinaten- und y-Koordinaten-Arrays werden die Koordinatendaten aller Punkte generiert, die kombiniert werden können.
e = np.arange(0, 4)
e
array([0, 1, 2, 3])
f = np.arange(4, 7)
f
array([4, 5, 6])
#Erzeugt Rasterdaten (im Raster) mit e und f in Zeilen- und Spaltenrichtung.
ee, ff = np.meshgrid(e, f)
ee
array([[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
ff
array([[4, 4, 4, 4],
[5, 5, 5, 5],
[6, 6, 6, 6]])
Der Absolutwert kann berechnet werden
#Erstellen Sie ein Array mit negativen Werten
a = np.arange(-3, 3).reshape((2, 3))
a
array([[-3, -2, -1],
[ 0, 1, 2]])
#Finden Sie den absoluten Wert
np.abs(a)
array([[3, 2, 1],
[0, 1, 2]])
Da sin und cos Differentiale sind und in der Strafverfolgungsanalyse selbstverständlich verwendet werden, können sie erst beginnen, wenn die Differentiale bekannt sind. Es ist sehr wichtig zu verstehen, wann und was nützlich ist.
b = np.linspace(-1, 1, 10)
b
array([-1. , -0.77777778, -0.55555556, -0.33333333, -0.11111111,
0.11111111, 0.33333333, 0.55555556, 0.77777778, 1. ])
#Sündenfunktion
np.sin(b)
array([-0.84147098, -0.70169788, -0.52741539, -0.3271947 , -0.11088263,
0.11088263, 0.3271947 , 0.52741539, 0.70169788, 0.84147098])
#cos Funktion
np.cos(b)
array([0.54030231, 0.71247462, 0.84960756, 0.94495695, 0.99383351,
0.99383351, 0.94495695, 0.84960756, 0.71247462, 0.54030231])
c = np.array([0, 1, 2])
c
array([0, 1, 2])
#Protokollfunktion Berechnet ein natürliches Protokoll mit der Basis der Naipia-Zahl.-inf bedeutet minus unendlich.
np.log(c)
array([ -inf, 0. , 0.69314718])
pandas
Es ist nicht schwer zu bedienen, und Sie können es grob verstehen, indem Sie sich die Referenzmaterialien ansehen. Es macht ** 17,5% ** der Prüfungsfragen aus. Das Verarbeiten von Daten ist etwas schwierig zu merken, aber nicht schwierig.
import pandas as pd
d = pd.DataFrame([[100, "first", True],
[200, "second", False],
[300, "third", True],
[400, "fourth", True],
[500, "fifth", False]])
d
Kann ** CSV ** - und ** Excel ** -Dateien lesen und schreiben.
#Schreiben Sie CSV
d.to_csv("write_csv.csv")
Matplotlib
Eine Bibliothek zum Zeichnen von 2D-Diagrammen in Python. Es macht ** 15% ** der Prüfungsfragen aus.
Sie können Diagramme wie Liniendiagramme, Balkendiagramme und Streudiagramme detailliert zeichnen. Der Schwierigkeitsgrad ist überhaupt nicht hoch.
import matplotlib.pyplot as plt
import matplotlib.style
import numpy as np
matplotlib.style.use('ggplot')
x = [10, 30, 60]
y = [20, 50, 150]
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('test2-style')
fig, ax = plt.subplots()
x = [1, 2, 3, 4]
y = [8, 1, 5, 10]
labels = ['first', 'secound', 'third', 'fourth']
ax.bar(x, y, tick_label=labels)
fig, ax = plt.subplots()
np.random.seed(500)
x = np.random.rand(80)
y = np.random.rand(80)
ax.scatter(x, y)
scikit-learn
** scikit-learn ** ist das Herzstück dieser vom Ingenieur zertifizierten Datenanalyseprüfung. ** 20% ** der Prüfungsfragen kommen von hier. Und scikit-learn ist eine Bibliothek, die den ** Vorverarbeitungsprozess ** ausführt, der der wichtigste Teil der Datenanalyse ist.
** Klassifizierung **, ** Rückgabe **, ** Überwachtes Lernen **, ** Support Vector Machine **, ** Entscheidungsbaum **, ** Clustering ** usw. sind bekannte Wörter für maschinelles Lernen. Das Kapitel über Scikit-Lernen im Referenzmaterial scheint für diejenigen, die das maschinelle Lernen noch nie berührt haben, etwas einprägsamer zu sein. Als Lernmethode gibt es viele Artikel, die leichter zu verstehen sind, wenn Sie sie nach einmaligem Lesen der Referenzdokumente nicht verstehen. Es wird daher empfohlen, diesen Teil zu googeln, anstatt das Buch mehrmals zu lesen. Es wird auch empfohlen, nach Videomaterial auf Udemy usw. zu suchen.
Es ist keine Übertreibung zu sagen, dass der Test zur Analyse der Ingenieurzertifizierungsdaten ein Test zur Bibliotheksnutzung ist. Es ist schwierig, sich nur durch das Lesen eines Buches zu erinnern, und man muss es tatsächlich irgendwie verschieben, aber ich denke nicht, dass es ein schwieriger Test für jemanden ist, der ein bisschen maschinelles Lernen hat. Wenn Sie noch nie maschinelles Lernen studiert haben, wird das Scikit-Lernkapitel schwierig, wenn Sie nur ein Buch lesen.
Recommended Posts