SQL-ähnliche Operationen mit Pandas
Pandas ist ein leistungsstarkes Python-Datenanalysetool, das SQL-ähnliche Vorgänge bietet und so die Datenverarbeitung und -analyse einfacher und effizienter macht. In diesem Artikel erfahren Sie, wie Sie SQL-ähnliche Vorgänge mit Pandas durchführen.
Pandas installieren und importieren
Stellen Sie zunächst sicher, dass die Pandas-Bibliothek installiert ist. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
pip install pandas
Nachdem die Installation abgeschlossen ist, können wir Pandas mit dem folgenden Code in ein Python-Skript importieren:
import pandas as pd
Daten lesen
Bevor wir beginnen, benötigen wir einige Daten, mit denen wir arbeiten können. Typischerweise lesen wir Daten aus einer Datei oder Datenbank. Pandas bietet eine Vielzahl von Methoden zum Lesen verschiedener Datentypen, einschließlich CSV-, Excel-, SQL-Datenbanken usw. Im Folgenden sind einige häufig verwendete Methoden zum Lesen von Daten aufgeführt:
- Daten aus CSV-Datei lesen:
df = pd.read_csv('data.csv')
- Daten aus Excel-Datei lesen:
df = pd.read_excel('data.xlsx')
- Daten aus SQL-Datenbank lesen:
import sqlite3
conn = sqlite3.connect('database.db')
query = 'SELECT * FROM table_name'
df = pd.read_sql(query, conn)
Datenvorschau
Bevor wir etwas unternehmen, können wir die folgenden Methoden verwenden, um eine Vorschau der Daten anzuzeigen:
- Sehen Sie sich die ersten Datenzeilen an:
df.head()
- Sehen Sie sich die nächsten Datenzeilen an:
df.tail()
- Sehen Sie sich die Dimensionen der Daten an (Anzahl der Zeilen und Spalten):
df.shape
Datenauswahl
Pandas bietet eine SQL-ähnliche Syntax zum Auswählen und Filtern von Daten. Hier sind einige gängige Datenauswahlmethoden:
- Wählen Sie bestimmte Spalten aus:
df[['column1', 'column2']]
- Wählen Sie Daten nach Kriterien aus:
df[df['column'] > 10]
- Wählen Sie Daten anhand mehrerer Kriterien aus:
df[(df['column1'] > 10) & (df['column2'] < 20)]
- Wählen Sie Daten mit der LIKE-Anweisung aus:
df[df['column'].str.contains('keyword')]
Datensortierung
Mit Pandas können wir Daten nach bestimmten Spalten sortieren. Hier sind einige häufig verwendete Methoden zum Sortieren von Daten:
- Sortieren Sie die Daten in aufsteigender Reihenfolge:
df.sort_values('column')
- Sortieren Sie die Daten in absteigender Reihenfolge:
df.sort_values('column', ascending=False)
Datenaggregation
Pandas bietet eine Fülle von Aggregationsfunktionen zum Zusammenfassen und Analysieren von Daten. Hier sind einige häufig verwendete Datenaggregationsmethoden:
- Berechnen Sie den Durchschnitt:
df['column'].mean()
- Berechnen Sie die Summe:
df['column'].sum()
- Berechnen Sie den Maximalwert:
df['column'].max()
- Berechnen Sie den Mindestwert:
df['column'].min()
Datenpaket
Mit Pandas können wir Daten basierend auf bestimmten Spalten gruppieren. Im Folgenden sind einige häufig verwendete Datengruppierungsmethoden aufgeführt:
- Nach bestimmten Spalten gruppieren:
df.groupby('column')
- Aggregieren Sie die gruppierten Daten:
df.groupby('column')['column2'].sum()
Datenverbindungen
Pandas ermöglicht es uns, mehrere Datensätze zusammenzuführen. Hier sind einige häufig verwendete Datenverbindungsmethoden:
- Verbinden Sie zwei Datensätze horizontal:
pd.concat([df1, df2], axis=1)
- Verbinden Sie zwei Datensätze vertikal:
pd.concat([df1, df2])
- Verknüpfen Sie zwei Datensätze basierend auf bestimmten Spalten:
pd.merge(df1, df2, on='column')
Daten schreiben
Schließlich können wir die Daten mit Pandas in einer Datei oder Datenbank speichern. Im Folgenden sind einige häufig verwendete Methoden zum Schreiben von Daten aufgeführt:
- Daten in CSV-Datei speichern:
df.to_csv('data.csv', index=False)
- Daten in Excel-Datei speichern:
df.to_excel('data.xlsx', index=False)
- Daten in SQL-Datenbank speichern:
import sqlite3
conn = sqlite3.connect('database.db')
df.to_sql('table_name', conn, if_exists='replace', index=False)
Im Folgenden finden Sie einige gängige Methoden zur Verwendung von Pandas für SQL-ähnliche Vorgänge. Durch das Erlernen und Beherrschen dieser Methoden können Sie die Datenverarbeitung und -analyse effizienter durchführen.