English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exemples spécifiques d'opérations SQL Pandas
Comme de nombreux utilisateurs potentiels de Pandas sont familiers avec SQL, cette page vise à fournir quelques exemples pour expliquer comment utiliser Pandas pour exécuter diverses opérations SQL.
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())
Les résultats de l'exécution sont les suivants :
total_bill tip sex fumeur jour heure taille 0 16.99 1.01 Femme Non Soleil Dîner 2 1 10.34 1.66 Homme Non Soleil Dîner 3 2 21.01 3.50 Homme Non Soleil Dîner 3 3 23.68 3.31 Homme Non Soleil Dîner 2 4 24.59 3.61 Femme Non Soleil Dîner 4
Dans SQL, la sélection est effectuée par une liste séparée par des virgules des colonnes que vous avez choisies (ou en utilisant*Pour sélectionner toutes les colonnes):
SELECT total_bill, tip, fumeur, heure from tips LIMIT 5;
Avec Pandas, la sélection de colonnes peut être effectuée en passant une liste de noms de colonnes à DataFrame :
tips[['total_bill', 'tip', 'fumeur', 'heure']].head(5)
Voici un exemple complet :
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', 'fumeur', 'heure']].head(5)
Les résultats de l'exécution sont les suivants :
total_bill tip fumeur heure 0 16.99 1.01 Non Dîner 1 10.34 1.66 Non Dîner 2 21.01 3.50 Non Dîner 3 23.68 3.31 Non Dîner 4 24.59 3.61 Non Dîner
Appeler DataFrame sans liste de noms de colonnes affichera toutes les colonnes (similaire à celui de SQL de)*).
Filtrage par clause WHERE dans SQL.
SELECT * from tips WHERE heure = 'Dîner' LIMIT 5;
DataFrame peut être filtré de multiples manières. La méthode la plus intuitive est l'index binaire.
tips[tips['heure'] == 'Dîner'].head(5)
Nous allons voir un exemple complet
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['heure'] == 'Dîner']).head(5)
Les résultats de l'exécution sont les suivants :
total_bill tip sex fumeur jour heure taille 0 16.99 1.01 Femme Non Soleil Dîner 2 1 10.34 1.66 Homme Non Soleil Dîner 3 2 21.01 3.50 Homme Non Soleil Dîner 3 3 23.68 3.31 Homme Non Soleil Dîner 2 4 24.59 3.61 Femme Non Soleil Dîner 4
La phrase ci-dessus transmet une série de True / L'objet False est transmis à DataFrame et toutes les lignes contenant True sont retournées.
Cette opération obtient le nombre d'enregistrements dans chaque groupe du jeu de données complet. Par exemple, recherchez le nombre de groupes de sexe et de quantité :
SELECT sex, count(*) from tips GROUP BY sex;
Les opérations dans Pandas sont les suivantes :
tips.groupby('sex').size()
Nous allons voir un exemple complet
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())
Les résultats de l'exécution sont les suivants :
sex Female 87 Male 157 dtype: int64
Utilisation de LIMIT dans SQL pour retourner N lignes :
SELECT * from tips LIMIT 5 ;
Les opérations dans Pandas sont les suivantes :
tips.head(5)
Nous allons voir un exemple complet
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
Les résultats de l'exécution sont les suivants :
smoker day time 0 No Sun Dinner 1 No Sun Dinner 2 No Sun Dinner 3 No Sun Dinner 4 No Sun Dinner