English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Pandas SQL-Operationen

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

Abfrage

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,*).

WHERE-Bedingungsabfrage

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.

GroupBy-Gruppierung

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

Anzahl der Zeilen abfragen

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