J'installe ces 9 outils Python sur chaque nouvelle machine
Chacun a sa boîte à outils de programmes préférés qu’il installe sur sa machine chaque fois qu’il en reçoit un nouveau. En travaillant avec Python, j'ai créé ma propre boîte à outils essentielle. Voici les bibliothèques et les programmes que j'utilise chaque fois que j'achète une nouvelle machine.
Sommaire
Jupyter/IPython
Jupyter est un moyen de créer des blocs-notes interactifs mêlant texte, graphiques et code. Il s’agit d’une forme unique de programmation. Cela a pris d’assaut le monde de la programmation scientifique. Il est très simple d'exécuter et de réexécuter des extraits de code.
Bien qu'il ne s'agisse pas d'un outil spécifique à Python, prenant en charge d'autres langages, Python est l'un des langages open source de choix pour le calcul scientifique, y compris les statistiques. Les notebooks Jupyter faisaient à l'origine partie d'IPython, qui améliore l'environnement interactif Python. J'utilise principalement IPython pour l'expérimentation et les notebooks Jupyter lorsque je souhaite enregistrer mes résultats.
Mamba
Ce n'est pas un outil spécifique à Python, mais Mamba est utile pour configurer mon environnement sur une nouvelle machine. Bien que Python soit inclus sur de nombreux systèmes, sur les systèmes Linux, il est principalement utilisé pour prendre en charge les scripts et autres fonctions du système d'exploitation lui-même, et non pour la programmation de projets. Si je souhaite installer des packages, je devrai soit utiliser mon gestionnaire de packages, soit configurer un environnement virtuel.
Mamba me permet de configurer facilement des environnements personnalisés avec les packages que je souhaite et de basculer entre les deux. Cela me rend beaucoup moins susceptible de gâcher l’environnement Python de mon système.
NumPy
NumPy est le cheval de bataille du calcul scientifique sur Python. Ses fonctionnalités le rendent comparable à Matlab, déjà largement utilisé en science et en ingénierie. Cela facilite le travail avec des tableaux numériques. Vous pouvez définir des vecteurs et des matrices pour résoudre facilement des systèmes d'équations linéaires.
Le principal attrait pour moi est la disponibilité de nombreux calculs statistiques de base, notamment la moyenne et la médiane. NumPy fonctionne également avec de nombreuses autres bibliothèques, que je mentionnerai plus tard.
SciPy
SciPy est un ensemble de nombreuses fonctions scientifiques. Encore une fois, son principal attrait pour moi est le calcul statistique. Je peux utiliser des fonctions informatiques qui, pour une raison quelconque, ne figurent pas dans le NumPy standard. Par exemple, je peux calculer le mode statistique ou le nombre qui apparaît le plus souvent dans un ensemble de données.
Supposons que j'ai un tableau appelé « a ». Si je veux trouver le mode, je lancerais simplement ce code :
from scipy import stats
stats.mode(a)
SciPy possède également de nombreuses distributions statistiques populaires, telles que la normale, le binôme et le t de Student. Je n'ai plus besoin de parcourir les tableaux.
SymPy
Alors que NumPy et SciPy couvrent les calculs numériques, SymPy propose quelque chose de complètement différent. C'est une bibliothèque qui transforme Python en un système de calcul formel. Cela lui permet de manipuler des variables symboliques de la même manière qu'une calculatrice fonctionne sur des nombres. Il s'agit d'une fonctionnalité proposée dans des packages coûteux comme Wolfram Mathematica.
Cela me permet d'effectuer des opérations algébriques dans Python, telles que le développement et la factorisation de polynômes, la résolution d'équations et même le calcul intégral et différentiel. Bien que cela ne représente qu’une minorité des opérations quotidiennes, celles-ci sont précieuses pour une compréhension plus approfondie des concepts statistiques. Je peux l'utiliser pour élaborer la formule d'une régression linéaire, tandis que d'autres bibliothèques se chargeront des calculs réels. Je l'utilise également pour travailler sur des textes qui utilisent ces opérations plus avancées. Je l'ai trouvé un outil précieux pour mon auto-éducation mathématique.
pandas
Pour les calculs statistiques, ce serait encore plus efficace que NumPy seul. pandas facilite la définition de DataFrames de données rectangulaires. Cela ressemble à la disposition des données que vous voyez dans les feuilles de calcul et dans les bases de données relationnelles. Il est également très simple d'importer des données à partir de feuilles de calcul Excel et CSV.
Non seulement je peux afficher des données, mais il dispose également de nombreuses fonctions intégrées pour exécuter des calculs, telles que des statistiques descriptives. Je peux également tracer des données en utilisant les méthodes pandas.
né de la mer
J'ai déjà mentionné Seaborn. J'aime la façon dont il offre un moyen simple de générer des graphiques statistiques communs. Il s'agit en fait d'une interface pour la populaire bibliothèque Matplotlib. Bien que ce dernier soit utile, il peut être difficile de mettre en place l’intrigue souhaitée. Dans Seaborn, il s'agit principalement de choisir le type d'intrigue que je souhaite et de définir un axe x et un axe y.
Par exemple, pour obtenir une régression avec un nuage de points de la base de données intégrée des pourboires de restaurant représentant le pourboire par rapport à la facture totale :
import seaborn as sns
sns.set_theme()
tips = sns.load_dataset('tips')
sns.regplot(x='total_bill',y='tip',data=tips)
Pingouin
Pingouin est une bibliothèque utile pour obtenir les résultats de tests statistiques de manière conviviale. Pour voir les chiffres réels derrière ce tracé de régression plus tôt, je peux utiliser le diagramme de Pingouin linear_regression méthode:
import pingouin as pg
pg.linear_regression(tips('total_bill'),tips('tip'))
Il existe d'autres tests courants, tels que le test t de Student et le chi carré.
modèles de statistiques
statsmodels est une bibliothèque plus ancienne qui, comme son nom l'indique, est principalement destinée aux tests statistiques. Son principal attrait est la régression linéaire. Ses résultats sont également recoupés avec d'autres programmes statistiques comme R. Cela le rend utile si vous voulez vous assurer que vos résultats sont valides. En parlant de R, il prend également en charge les formules de type R. Je vais le démontrer avec une autre version de l'analyse de régression de l'ensemble de données de conseils :
import statsmodels.formula.api as smf
results = smf.ols('tip ~ total_bill',data=tips).fit()
results.summary()
Ces bibliothèques et outils rendent l'analyse des données plus facile et encore plus amusante. Ceux-ci me suivront probablement jusqu'à ma prochaine machine.
