10 Pandas-Befehle, die Sie kennen müssen
Pandas ist eine beliebte und weit verbreitete Python-Bibliothek, die für die Datenmanipulation und -analyse verwendet wird, da sie Werkzeuge für die Arbeit mit strukturierten Daten wie Tabellen und Zeitreihen bietet, was sie zu einem unverzichtbaren Werkzeug für die Datenvorverarbeitung macht.
Ganz gleich, ob Sie Daten bereinigen, Datensätze betrachten oder Daten für maschinelles Lernen vorbereiten, Pandas ist Ihre erste Wahl. Dieser Artikel stellt die Grundlagen von Pandas vor und untersucht 10 wichtige Befehle für Anfänger.
Was ist Pandas?
Pandas ist eine Open-Source-Python-Bibliothek, die für die Datenmanipulation und -analyse entwickelt wurde und auf NumPy, einer weiteren Python-Bibliothek für numerisches Rechnen, aufbaut.
Pandas führt zwei Hauptdatenstrukturen ein:
- Reihe: Ein eindimensionales beschriftetes Array, das jeden Datentyp (z. B. Ganzzahlen, Zeichenfolgen, Gleitkommazahlen) enthalten kann.
- DataFrame: Eine zweidimensionale Datenstruktur mit Beschriftung, ähnlich einer Tabellenkalkulation oder SQL-Tabelle, bei der die Daten in Zeilen und Spalten organisiert sind.
Um Pandas zu verwenden, müssen Sie es zuerst mit dem Paketmanager pip installieren:
pip install pandas
Importieren Sie es nach der Installation in Ihr Python-Skript:
import pandas as pd
Der Alias pd wird häufig verwendet, um Pandas-Befehle kürzer und einfacher zu schreiben zu machen.
Lassen Sie uns nun in die wesentlichen Befehle eintauchen!
1. Laden von Daten
Bevor Sie mit Daten arbeiten, müssen Sie diese mit der Funktion read_csv() in einen Pandas DataFrame laden, die häufig zum Laden von CSV-Dateien verwendet wird:
data = pd.read_csv('data.csv')
print(data.head())
read_csv('data.csv'): Liest die CSV-Datei in einen DataFrame ein.head(): Zeigt die ersten fünf Zeilen des DataFrame an.
Dieser Befehl ist entscheidend für den Start einer Datenvorverarbeitungsaufgabe.
2. Anzeigen von Daten
Um Ihr Dataset zu verstehen, können Sie die folgenden Befehle verwenden:
head(n):Zeigt die erstennZeilen des DataFrame an.tail(n):Zeigt die letztennZeilen des DataFrame an.info(): Ruft eine Zusammenfassung des DataFrame ab, einschließlich Spaltennamen, Anzahl ungleich NULL und Datentypen.describe(): Erhält statistische Zusammenfassungen von numerischen Spalten.
Mit diesen Befehlen können Sie die Struktur und den Inhalt Ihrer Daten schnell bewerten.
print(data.info())
print(data.describe())
3. Auswählen von Daten
Verwenden Sie die folgenden Methoden, um bestimmte Zeilen oder Spalten auszuwählen:
Wählen Sie eine einzelne Spalte aus:
column_data = data['ColumnName']
Wählen Sie mehrere Spalten aus:
selected_data = data[['Column1', 'Column2']]
Zeilen mithilfe von Slice auswählen:
rows = data[10:20] # Rows 10 to 19
Zeilen und Spalten mit loc oder iloc auswählen:
# By labels (loc)
subset = data.loc[0:5, ['Column1', 'Column2']]
By index positions (iloc)
subset = data.iloc[0:5, 0:2]
4. Filtern von Daten
Durch das Filtern können Sie Zeilen basierend auf Bedingungen auswählen.
filtered_data = data[data['ColumnName'] > 50]
Sie können mehrere Bedingungen mit & (UND) oder | (ODER) kombinieren:
filtered_data = data[(data['Column1'] > 50) & (data['Column2'] < 100)]
Dies ist nützlich, um Ihr Dataset auf relevante Zeilen einzugrenzen.
5. Hinzufügen oder Ändern von Spalten
Sie können neue Spalten erstellen oder vorhandene Spalten ändern:
Fügen Sie eine neue Spalte hinzu:
data['NewColumn'] = data['Column1'] + data['Column2']
Ändern einer vorhandenen Spalte:
data['Column1'] = data['Column1'] * 2
Diese Vorgänge sind für die Featureentwicklung und die Datentransformation unerlässlich.
6. Umgang mit fehlenden Daten
Reale Datasets enthalten oft fehlende Werte, und Pandas bietet Werkzeuge, um diese zu verarbeiten:
Auf fehlende Werte prüfen:
print(data.isnull().sum())
Löschen von Zeilen oder Spalten mit fehlenden Werten:
data = data.dropna()
data = data.dropna(axis=1)
Fehlende Werte ergänzen:
data['ColumnName'] = data['ColumnName'].fillna(0)
data['ColumnName'] = data['ColumnName'].fillna(data['ColumnName'].mean())
Durch den Umgang mit fehlenden Daten wird sichergestellt, dass Ihr Datensatz sauber und bereit für die Analyse ist.
7. Sortieren von Daten
Um Ihren Datensatz nach einer oder mehreren Spalten zu sortieren, verwenden Sie die Funktion sort_values():
sorted_data = data.sort_values(by='ColumnName', ascending=True)
Für mehrere Spalten:
sorted_data = data.sort_values(by=['Column1', 'Column2'], ascending=[True, False])
Das Sortieren ist hilfreich, um Daten zu organisieren und Muster zu finden.
8. Gruppieren von Daten
Die Funktion groupby() wird verwendet, um Daten zu gruppieren und aggregierte Operationen durchzuführen:
grouped_data = data.groupby('ColumnName')['AnotherColumn'].sum()
Zu den gängigen Aggregationsfunktionen gehören:
sum(): Summe der Werte.mean(): Durchschnitt der Werte.count(): Anzahl der Werte, die nicht null sind.
Beispiel:
grouped_data = data.groupby('Category')['Sales'].mean()
Dieser Befehl ist für die Zusammenfassung von Daten unerlässlich.
9. Zusammenführen und Verbinden von DataFrames
Verwenden Sie die folgenden Methoden, um mehrere DataFrames zu kombinieren:
Verbinden:
combined_data = pd.concat([data1, data2], axis=0)
Verschmelzen:
merged_data = pd.merge(data1, data2, on='KeyColumn')
Verbinden:
joined_data = data1.join(data2, how='inner')
Mit diesen Vorgängen können Sie Datensätze für eine umfassende Analyse kombinieren.
10. Daten exportieren
Nach der Verarbeitung Ihrer Daten müssen Sie diese möglicherweise mit der Funktion to_csv() speichern:
data.to_csv('processed_data.csv', index=False)
Mit diesem Befehl wird der DataFrame in einer CSV-Datei ohne die Indexspalte gespeichert. Sie können auch in andere Formate wie Excel, JSON oder SQL exportieren.
Schlussfolgerung
Pandas ist ein unverzichtbares Werkzeug für die Datenvorverarbeitung und bietet eine breite Palette von Funktionen zur Manipulation und Analyse von Daten.
Die 10 Befehle, die in diesem Artikel behandelt werden, bieten Anfängern eine solide Grundlage, um mit Pandas zu arbeiten. Wenn du mehr übst und erkundest, wirst du das volle Potenzial dieser leistungsstarken Bibliothek entdecken.