Photo du site Unsplash . Auteur: Hitesh Choudhary
Obtenir le mĂȘme rĂ©sultat en Python qu'avec une requĂȘte SQL
Souvent, lorsque nous travaillons sur le mĂȘme projet, nous devons basculer entre SQL et Python. Cela Ă©tant dit, certains d'entre nous connaissent la manipulation des donnĂ©es dans les requĂȘtes SQL, mais pas en Python, ce qui nuit Ă notre efficacitĂ© et Ă notre productivitĂ©. En fait, en utilisant Pandas, vous pouvez obtenir le mĂȘme rĂ©sultat en Python que dans les requĂȘtes SQL.
DĂ©but des travaux
Vous devez installer le package Pandas s'il n'y est pas.
conda install pandas
Nous utiliserons le célÚbre jeu de données Titanic de Kaggle .
AprÚs avoir installé le package et téléchargé les données, nous devons l'importer dans notre environnement Python.
Nous utiliserons un DataFrame pour stocker des données. Diverses fonctions Pandas nous aideront à gérer cette structure de données.
SELECT, DISTINCT, COUNT, LIMIT
Commençons par des requĂȘtes SQL simples que nous utilisons beaucoup.
titanic_df["age"].unique()
renverra un tableau de valeurs uniques, nous devrons donc utiliser len()
pour compter leur nombre.
SELECT, WHERE, OR, AND, IN (SELECT avec conditions)
AprĂšs la premiĂšre partie, vous avez appris Ă explorer un DataFrame de maniĂšre simple. Essayons maintenant de le faire avec certaines conditions (c'est une instruction
WHERE
en SQL).
Si nous voulons uniquement sélectionner des colonnes spécifiques du DataFrame, nous pouvons le faire avec une paire supplémentaire de crochets.
Remarque: si vous sélectionnez plusieurs colonnes, vous devez placer le tableau
["name","age"]
entre crochets.
isin()
fonctionne exactement de la mĂȘme maniĂšre que IN
dans les requĂȘtes SQL. Pour l'utiliser NOT IN
, en Python, nous devons utiliser la négation (~)
.
GROUP BY, ORDER BY, COUNT
GROUP BY
et ORDER BY
sont également des instructions SQL populaires pour l'exploration de données. Essayons maintenant de les utiliser en Python.
Si nous voulons trier une seule colonne COUNT, nous pouvons simplement passer une valeur booléenne à la méthode
sort_values
. Si nous allons trier plusieurs colonnes, nous devons passer un tableau de booléens à la méthode sort_values
.
La méthode
sum()
renvoie les sommes pour chacune des colonnes du DataFrame, qui peuvent ĂȘtre agrĂ©gĂ©es numĂ©riquement. Si nous ne voulons qu'une colonne spĂ©cifique, nous devons spĂ©cifier le nom de la colonne en utilisant des crochets.
MIN, MAX, MOYEN, MOYEN
Enfin, essayons certaines des fonctions statistiques standard qui sont importantes lors de l'exploration de données.
SQL ne contient pas d'opérateurs qui renvoient la valeur médiane, nous utilisons donc BigQuery pour obtenir la valeur médiane de la colonne d'ùge.Dans
APPROX_QUANTILES
Pandas, la méthode d'agrégation
.agg()
prend Ă©galement en charge d'autres fonctions, par exemple sum
.
Vous avez maintenant appris Ă rĂ©Ă©crire des requĂȘtes SQL en Python Ă l'aide de Pandas . J'espĂšre que vous trouverez cet article utile.
Tout le code se trouve dans mon référentiel Github .
Merci de votre attention!