Das Plotten maskierter und NaN-Werte

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Beim Datenvisualisieren tritt es häufig auf, dass fehlende Daten geplottet werden müssen. In diesem Tutorial lernen wir, wie man mit Matplotlib Daten mit fehlenden Werten darstellt. Wir werden drei Methoden untersuchen: das Entfernen unerwünschter Datenpunkte, das Maskieren von Punkten und das Festlegen von Werten auf NaN.

VM-Tipps

Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Wir müssen die Bibliotheken importieren, die wir in diesem Tutorial verwenden werden. Wir werden Matplotlib und NumPy verwenden.

import matplotlib.pyplot as plt
import numpy as np

Erstellen von Daten zum Plotten

Wir werden Daten zum Plotten mit NumPy erstellen. Wir werden 31 Datenpunkte zwischen -pi/2 und pi/2 generieren und den Kosinus dieser Werte hoch 3 berechnen.

x = np.linspace(-np.pi/2, np.pi/2, 31)
y = np.cos(x)**3

Entfernen von Punkten

Wir werden die Punkte entfernen, bei denen y > 0,7. Wir werden ein neues x-Array und y-Array erstellen, die nur die verbleibenden Punkte enthalten.

x2 = x[y <= 0.7]
y2 = y[y <= 0.7]

Maskieren von Punkten

Wir werden Punkte maskieren, bei denen y > 0,7, indem wir ein maskiertes Array verwenden. Wir werden ein neues y-Array mit maskierten Werten erstellen.

y3 = np.ma.masked_where(y > 0.7, y)

Setzen auf NaN

Wir werden die Werte, bei denen y > 0,7, auf NaN setzen. Wir werden ein neues y-Array mit NaN-Werten erstellen.

y4 = y.copy()
y4[y3 > 0.7] = np.nan

Plotten der Daten

Wir werden alle vier Datensätze mit unterschiedlichen Markern und Farben plotten, um sie voneinander zu unterscheiden.

plt.plot(x*0.1, y, 'o-', color='lightgrey', label='No mask')
plt.plot(x2*0.4, y2, 'o-', label='Points removed')
plt.plot(x*0.7, y3, 'o-', label='Masked values')
plt.plot(x*1.0, y4, 'o-', label='NaN values')
plt.legend()
plt.title('Masked and NaN data')
plt.show()

Interpretieren des Plots

Das resultierende Diagramm wird vier Linien mit unterschiedlichen Farben und Markern aufweisen. Die erste Linie (hellgrau) repräsentiert die ursprünglichen Daten ohne Maskierung. Die zweite Linie (orange) repräsentiert die Daten mit den unerwünschten Punkten entfernt. Die dritte Linie (grün) repräsentiert die Daten mit maskierten Werten. Die vierte Linie (blau) repräsentiert die Daten mit NaN-Werten. Dieses Diagramm zeigt, wie fehlende Daten mit unterschiedlichen Methoden visualisiert werden können.

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man Daten mit fehlenden Werten mit Matplotlib plotten kann. Wir haben drei Methoden untersucht: das Entfernen unerwünschter Datenpunkte, das Maskieren von Punkten und das Setzen von Werten auf NaN. Wir haben Daten mit NumPy erstellt, um sie zu plotten, und verschiedene Marker und Farben verwendet, um die Datensätze voneinander zu unterscheiden. Wir haben auch das resultierende Diagramm interpretiert, um die verschiedenen Methoden des Visualisierens von fehlenden Daten zu verstehen.