Comment rĂ©Ă©crire des requĂȘtes SQL en Python Ă  l'aide de Pandas

Dans cet article, June Tao Ching a expliquĂ© comment obtenir le mĂȘme rĂ©sultat en Python que dans les requĂȘtes SQL utilisant Pandas. Avant vous - la traduction et l' original peuvent ĂȘtre trouvĂ©s dans le blog versdatascience.com.



image

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.



image



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.



image



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 WHEREen SQL).



image



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 INdans les requĂȘtes SQL. Pour l'utiliser NOT IN, en Python, nous devons utiliser la nĂ©gation (~).



GROUP BY, ORDER BY, COUNT



GROUP BYet ORDER BYsont également des instructions SQL populaires pour l'exploration de données. Essayons maintenant de les utiliser en Python.



image



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.



image



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!



All Articles