Pandas hat uns bisher in der Phase der Datenvorverarbeitung unterstützt. Allerdings haben wir in einem Fall beim Erstellen von Histogrammen auch ein anderes Modul von Pandas verwendet – plotting
.
Wir haben dies bisher bewusst vermieden, da eine frühere Einführung mehr Fragen aufwerfen als beantworten würde. Nämlich Pandas und Matplotlib war ein so gemeinsames und allgegenwärtiges Duo, dass Pandas damit begonnen hat, die Funktionalität von Matplotlib zu integrieren. Es schwer verlässt sich auf Matplotlib, um tatsächliche Plots durchzuführen, und Sie finden viele Matplotlib-Funktionen im Quellcode. Alternativ können Sie zum Plotten auch andere Backends nutzen, wie z.B Plot und Bokeh.
Pandas stellt uns jedoch auch einige Handlungsstränge vor sind nicht ein Teil der Standardplottypen von Matplotlib, wie z KDEs, Andrews-Kurven, Bootstrap-Plots und Streumatrizen.
Das plot()
Funktion eines Pandas DataFrame
verwendet das von angegebene Backend plotting.backend
und je nach kind
Argument – generiert einen Plot unter Verwendung der angegebenen Bibliothek. Da sich viele davon überschneiden, macht es keinen Sinn, Handlungstypen wie z line
, bar
, hist
und scatter
. Sie werden mit demselben Code fast die gleichen Diagramme erstellen, die wir bisher mit Matplotlib gemacht haben.
Wir werfen nur einen kurzen Blick darauf plot()
Funktion, da der zugrunde liegende Mechanismus bisher erforscht wurde. Konzentrieren wir uns stattdessen auf einige der Handlungsstränge, die wir haben kann nicht Mit Matplotlib geht das schon problemlos.
Dies wird ein sehr kurzes Kapitel sein, da die Plot- und Visualisierungsfähigkeiten von Pandas im Vergleich zu Matplotlib verblassen – es ist jedoch dennoch nützlich, einige davon zu kennen und sich der Fähigkeit zum Plotten bewusst zu sein DataFrame
s direkt.
Das DataFrame.plot() Funktion
Das plot()
Funktion akzeptiert x
und y
Funktionen und a kind
Streit. Alternativ, um das zu vermeiden kind
Argument, Sie können auch anrufen DataFrame.plot.kind()
stattdessen und übergeben Sie die x
und y
Funktionen.
Die akzeptierten Werte für die kind
Argumente sind: line
, bar
, barh
(horizontale Linie), hist
, box
, kde
, density
(Synonym für kde
), area
, pie
, scatter
und hexbin
(ähnlich einer Heatmap).
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] df_eu.plot.bar(x = 'Year', y = 'Value')
df_eu.plot.line(x = 'Year', y = 'Value')
df_eu.plot.box(x='Value') plt.show()
Anstatt die Series
Instanzen wie wir es für Matplotlib tun – es reicht aus, das bereitzustellen Spaltennamen, und da du das anrufst plot()
Funktion auf der DataFrame
Sie visualisieren, ist es für Pandas einfach, diese Zeichenfolgenwerte den entsprechenden Spaltennamen zuzuordnen.
Jeder dieser Anrufe führt zu einem neuen Figure
Instanz und zeichnet die entsprechenden Werte darauf auf:
Um mehrere Achsen auf derselben zu zeichnen Figure
, du kannst a . machen Figure
und ein oder mehrere Axes
plt.subplots()
und weisen Sie das entsprechende zu Axes
zu den ax
Argument von jedem plot.plot_type()
Anruf:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] fig, ax = plt.subplots(3, 1) df_eu.plot.box(x='Value', ax = ax[0])
df_eu.plot.line(x = 'Year', y = 'Value', ax = ax[1])
df_eu.plot.bar(x = 'Year', y = 'Value', rot = 45, ax = ax[2]) plt.show()
Einige der Standardargumente, wie z rotation
Argument sind tatsächlich anders in der plot()
Anrufe. Zum Beispiel, rotation
wird gekürzt zu rot
. Das macht es etwas schwierig einfach wechseln zwischen Matplotlib und Pandas, da Sie höchstwahrscheinlich auf den Dokumentationsseiten landen und nur prüfen müssen, welche Argumente angewendet werden können und welche nicht.
Jetzt, anstatt ein neues zu erstellen Figure
or Axes
Beispielsweise wird jedes dieser Grundstücke entsprechend stationiert Axes
Beispiele, die wir ihnen zur Verfügung gestellt haben:
Im Allgemeinen ist das Plotten mit Pandas bequem und schnell – aber dennoch werden Sie zum Plotten von Balkendiagrammen, Liniendiagrammen und Boxdiagrammen wahrscheinlich Matplotlib verwenden wollen. Es ist sowohl die zugrunde liegende Engine, die Pandas zwangsläufig verwendet, als auch verfügt es über mehr Anpassungsoptionen, und Sie müssen sich keine neuen Argumente merken, die Sie mit Pandas-Plots verwenden können.
Allerdings möchten Sie vielleicht einige Grundstücke bevorzugen Pandas, da sie manuell in Matplotlib erstellt werden müssten und einige von ihnen so mühsam zu erstellen sind, dass sich der Aufwand nicht lohnt, wie zum Beispiel KDE-Zeilen.
Pandas‘ plotten Modul
Was DataFrame
Was die Visualisierung zu bieten hat, ist für uns nicht allzu neu. Das zugrunde liegende Modul, das sie nennen, ist jedoch pandas.plotting
tut. Das plotting
Das Modul verfügt über mehrere Funktionen, die wir verwenden können, z autocorrelation_plot()
, bootstrap_plot()
und scatter_matrix()
.
Jeder von ihnen akzeptiert entweder a Series
oder eine DataFrame
, abhängig von der Art der Visualisierung, die sie erstellen, sowie bestimmte Parameter für Plotspezifikationen und Stilzwecke.
Bootstrap-Plot
Bootstrapping ist der Prozess der zufälligen Stichprobe (mit Ersetzung) eines Datensatzes und der Berechnung von Genauigkeitsmaßen wie z vorspannen, Unterschied und Vertrauensintervalle für die Zufallsstichproben. „Mit Ersetzung“ bedeutet praktisch, dass jedes zufällig ausgewählte Element erneut ausgewählt werden kann. Ohne Ersatz bedeutet, dass jedes zufällig ausgewählte Element für die nächste Stichprobe aus dem Pool entfernt wird.
A Bootstrap-Plot, erstellt von Pandas, erstellt die Durchschnitts-, Median- und Mittelbereichsstatistiken eines Datensatzes basierend auf der Stichprobe size
, danach wird der Plot anschließend über angezeigt plt.show()
. Die Standardargumente für size
und samples
sind 50
und 500
beziehungsweise.
Das bedeutet, dass wir für ein Feature Stichproben durchführen 50
Werte. Anschließend wird eine Teilstichprobe mit 50 Elementen (synthetische Daten) für diese 50 Werte erstellt und eine zusammenfassende Statistik (Mittelwert/Median/Mittelwert) für sie berechnet. Dieser Vorgang wird wiederholt 500
Mal, also haben wir am Ende 500 zusammenfassende Statistiken:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('./datasets/gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] pd.plotting.bootstrap_plot(df_eu['Value']) plt.show()
Autokorrelationsdiagramm
Autokorrelationsdiagramme werden zur Überprüfung der Datenzufälligkeit bei Zeitreihendaten verwendet. Mehrere Autokorrelationen werden für unterschiedliche Zeitstempel berechnet, und wenn die Daten wirklich zufällig sind, liegt die Korrelation nahe Null. Wenn nicht, ist die Korrelation größer als Null.
Lassen Sie uns zwei Autokorrelationsdiagramme zeichnen – eines mit unserem Wert Funktion und eines mit a Series
gefüllt mit Zufallswerten:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
# Filter DataFrame for the EU
df_eu = df.loc[df['Country Name'] == 'European Union']
# Generate 50 random integers between 0 and 100, and turn into a Series
random_series = pd.Series(np.random.randint(0, 100, size=50)) # Plot Autocorrelation Plot for the *Value* feature
pd.plotting.autocorrelation_plot(df_eu['Value'])
# Plot Autocorrelation Plot for the *random_series*
pd.plotting.autocorrelation_plot(random_series) plt.show()
Das Autokorrelationsdiagramm für die random_series
sollte sich umdrehen 0
, da es sich um Zufallsdaten handelt, während das Diagramm für die Value
Funktion wird nicht:
Es ist erwähnenswert, dass die Autokorrelation eins misst unten stehende Formular der Zufälligkeit, da unkorrelierte, aber nicht zufällige Daten existieren. Wenn es nicht zufällig ist, aber keine signifikanten Korrelationen aufweist, zeigt das Autokorrelationsdiagramm an, dass die Daten zufällig sind.
Streumatrizen
Streumatrizen Handlung a Gitter von Streudiagrammen für alle Features gegen alle Features. Da dabei zwangsläufig auch jedes Merkmal mit sich selbst verglichen wird – das Diagonale wo dies geschieht, wird normalerweise durch a ersetzt Histogramm dieser Funktion anstelle eines Streudiagramms. Streumatrizen sind auch bekannt als Paardiagramme, und Seaborn bietet a pairplot()
Funktion nur dafür.
Das scatter_matrix()
Funktion akzeptiert a DataFrame
und erzeugt eine Streumatrix für alle ihre numerischen Merkmale und gibt ein 2D-Array von zurück Axes
Instanzen, aus denen die Streumatrix besteht. Um etwas an ihnen zu optimieren, sollten Sie sie durchlaufen:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('worldHappiness2019.csv') axes = pd.plotting.scatter_matrix(df, diagonal='hist') for ax in axes.flatten(): # Rotate back to 0 degrees since they're automatically rotated by 90 ax.yaxis.label.set_rotation(0) # As to not overlap with the Axes instances, set the ticklabel # alignment to 'right' ax.yaxis.label.set_ha('right') plt.show()
Dies führt zu einer ziemlich großen Streumatrix aller Features im Vergleich zu allen anderen Features:
Sie können auch die übergeben diagonal
Argument, das akzeptiert 'hist'
or 'kde'
um anzugeben, welche Art von Verteilungsdiagramm Sie auf der Diagonale darstellen möchten alpha
, wodurch die Transluzenz der Markierungen in den Streudiagrammen angegeben wird.
- 100
- LiveBuzz
- Alle
- bereits
- Ein anderer
- Argumente
- um
- Sein
- Bit
- Box
- rufen Sie uns an!
- Fähigkeiten
- Kapitel
- Überprüfung
- Code
- Kolonne
- gemeinsam
- Land
- Paar
- Erstellen
- technische Daten
- anders
- Verteilung
- Europäische
- Europäische Union
- Beispiel
- Merkmal
- Eigenschaften
- Setzen Sie mit Achtsamkeit
- Funktion
- Funktionalität
- Allgemeines
- erzeugen
- HTTPS
- IT
- bekannt
- grosse
- größer
- Bibliothek
- Line
- Karte
- Matrix
- vor allem warme
- nämlich
- Namen
- In der Nähe von
- bieten
- Angebote
- Optionen
- Andere
- Phase
- Pool
- Prozessdefinierung
- produziert
- die
- Zwecke
- erhöhen
- RE
- ersetzt
- Die Ergebnisse
- Rückgabe
- Said
- ausgewählt
- kompensieren
- Short
- signifikant
- ähnlich
- So
- Quellcode
- Spezifikation
- begonnen
- Statistiken
- Die Quelle
- Durch
- Gewerkschaft
- us
- Wert
- Visualisierung
- Was
- Wikipedia
- wert
- X
- Jahr
- Null