English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Spezifische Beispiele für Pandas SQL-Operationen
Da viele potenzielle Pandas-Benutzer SQL verstehen, zielt diese Seite darauf ab, einige Beispiele zu liefern, die erläutern, wie mit Pandas verschiedene SQL-Operationen durchgeführt werden können.
import pandas as pd url = 'https://raw.github.com/pandasdev/ pandas/master/pandas/tests/data/tips.csv' tips=pd.read_csv(url) print(tips.head())
Das Laufende Ergebnis ist wie folgt:
total_bill tip sex smoker day time size 0 16.99 1.01 Female Nein Sonntag Dinner 2 1 10.34 1.66 Male Nein Sonntag Dinner 3 2 21.01 3.50 Male Nein Sonntag Dinner 3 3 23.68 3.31 Male Nein Sonntag Dinner 2 4 24.59 3.61 Female Nein Sonntag Dinner 4
In SQL wird die Auswahl durch eine durch Kommas getrennte Liste der gewählten Spalten (oder durch*um alle Spalten auszuwählen)zu erledigen ist:
SELECT total_bill, tip, smoker, time from tips LIMIT 5;
Durch Übergeben einer Liste von Spaltennamen an DataFrame kann die Spaltenauswahl mit Pandas durchgeführt werden:
tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
Lassen Sie uns einen vollständigen Beispiel fall sehen:
import pandas as pd url = 'https://raw.github.com/pandasdev/ pandas/master/pandas/tests/data/tips.csv' tips=pd.read_csv(url) print(tips[['total_bill', 'tip', 'smoker', 'time']].head(5)
Das Laufende Ergebnis ist wie folgt:
total_bill tip smoker time 0 16.99 1.01 Nein Dinner 1 10.34 1.66 Nein Dinner 2 21.01 3.50 Nein Dinner 3 23.68 3.31 Nein Dinner 4 24.59 3.61 Nein Dinner
Ein DataFrame ohne Spaltennamenliste aufgerufen zeigt alle Spalten an (ähnlich wie in SQL,*).
Filterung durch WHERE-Satz in SQL durchführen.
SELECT * from tips WHERE time = 'Dinner' LIMIT 5;
DataFrame können auf verschiedene Weisen gefiltert werden. Der direkteste Weg ist die Verwendung von Boolean-Indizes.
tips[tips['time'] == 'Dinner'].head(5)
Lassen Sie uns einen vollständigen Beispiel ansehen
import pandas as pd url = 'https://raw.github.com/pandasdev/ pandas/master/pandas/tests/data/tips.csv' tips=pd.read_csv(url) print(tips[tips['time'] == 'Dinner']).head(5)
Das Laufende Ergebnis ist wie folgt:
total_bill tip sex smoker day time size 0 16.99 1.01 Female Nein Sonntag Dinner 2 1 10.34 1.66 Male Nein Sonntag Dinner 3 2 21.01 3.50 Male Nein Sonntag Dinner 3 3 23.68 3.31 Male Nein Sonntag Dinner 2 4 24.59 3.61 Female Nein Sonntag Dinner 4
Der obige Ausdruck gibt eine Reihe von True / False-Objekte werden an DataFrame übergeben und alle Zeilen mit True zurückgegeben.
Diese Operation liefert die Anzahl der Aufzeichnungen in jeder Gruppe des gesamten Datensatzes. Zum Beispiel, um die Anzahl der Gruppen nach Geschlecht zu überprüfen:
SELECT sex, count(*) from tips GROUP BY sex;
In Pandas wird wie folgt operationiert:
tips.groupby('sex').size()
Lassen Sie uns einen vollständigen Beispiel ansehen
import pandas as pd url = 'https://raw.github.com/pandasdev/ pandas/master/pandas/tests/data/tips.csv' tips=pd.read_csv(url) print tips.groupby('sex').size()
Das Laufende Ergebnis ist wie folgt:
sex Weiblich 87 Männlich 157 dtype: int64
SQL verwendet LIMIT, um N Zeilen zurückzugeben:
SELECT * from tips LIMIT 5 ;
In Pandas wird so operationiert:
tips.head(5)
Lassen Sie uns einen vollständigen Beispiel ansehen
import pandas as pd url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv' tips=pd.read_csv(url) tips = tips[['smoker', 'day', 'time']].head(5) print tips
Das Laufende Ergebnis ist wie folgt:
Raucher Tag Zeit 0 Keine Sonnen Dinner 1 Keine Sonnen Dinner 2 Keine Sonnen Dinner 3 Keine Sonnen Dinner 4 Keine Sonnen Dinner