Guide du débutant Python pour traiter les données
Python est un langage à usage général populaire, mais il est de plus en plus favorisé pour les statistiques, l'analyse des données et la science des données. Si vous avez une connaissance de base des statistiques, comment pouvez-vous l'appliquer à Python? Voici comment commencer à parcourir les données avec Python plus rapidement que vous ne le pouviez à la main.
Sommaire
Pourquoi Python pour les données?
Bien que Python soit populaire pour l'analyse des données, vous vous demandez peut-être pourquoi vous voudrez peut-être utiliser Python au lieu d'une feuille de calcul comme Excel, LibreOffice Calc ou Google Sheets.
La raison principale d'utiliser Python est que vous obtenez beaucoup plus d'options que ce qui est inclus dans la plupart des feuilles de calcul. Les feuilles de calcul sont principalement conçues pour les calculs commerciaux et financiers. Vous pouvez effectuer des calculs plus avancés avec Python, car vous pouvez puiser dans le grand nombre de bibliothèques de Python.
L'autre problème est l'évolutivité. Les feuilles de calcul fonctionnent mieux avec des ensembles de données plus petits, bien que les utilisateurs lourds puissent créer des monstruosités de plusieurs centaines de lignes. Pour effectuer des opérations, vous devez cliquer et faire glisser des colonnes. Bien que cela fonctionne pour quelques lignes, si vous avez plusieurs écrans de données, vos doigts peuvent se fatiguer rapidement.
8 conseils et astuces pour utiliser Python comme application de calculatrice
Jetez plutôt votre calculatrice de fantaisie et ouvrez une fenêtre Python!
Les opérations de données de Python, avec des bibliothèques comme Numpy, Pandas, Seaborn et Pingouin, sont beaucoup plus efficaces pour travailler avec de grandes quantités de données. Vous pouvez spécifier des opérations complexes comme la sélection des données à partir de plusieurs colonnes et effectuer des calculs sur eux en une ou quelques lignes. Encore mieux, vous pouvez écrire des scripts pour automatiser ces opérations afin que vous ne deviez les taper qu'une seule fois en premier lieu.
Les feuilles de calcul ont toujours leur place. Ils sont parfaits pour des opérations plus rapides, ainsi que pour la mise en forme de données à utiliser dans Python. Je vais même vous montrer comment importer des données à partir de feuilles de calcul. Pour la mise en forme de données, si vous avez besoin de données pour être formatées pour des contraintes comme la longueur de caractère ou un type de numéro comme un entier, un petit système de gestion de base de données comme SQLite est encore meilleur.
Pour la concision, cet article couvrira l'utilisation des bibliothèques Python pour les calculs statistiques de base et n'expliquera pas beaucoup la théorie. Si vous souhaitez en savoir plus sur la théorie statistique, il existe de nombreuses ressources en ligne et hors ligne, y compris des cours, des manuels et des vidéos. Vous pouvez essayer le manuel en ligne d'OpenStax ou Khan Academy pour des options d'apprentissage gratuites.
Configuration de votre environnement
Pour configurer votre environnement pour l'analyse des données, vous devrez installer certaines bibliothèques, mentionnées plus tôt. Je suppose que vous utilisez une forme de système de type UNIX, tel que Linux, MacOS ou Windows avec le sous-système Windows pour Linux installé.
La première chose que vous devrez installer est Mamba, qui est un gestionnaire de packages pour ces bibliothèques. La plupart des systèmes Linux sont livrés avec un gestionnaire de packages, alors pourquoi auriez-vous besoin d'un gestionnaire de packages en plus de votre gestionnaire de packages? Les gestionnaires de packages de systèmes ont Python et les bibliothèques que je mentionne, mais ils sont principalement destinés à prendre soin du système d'exploitation lui-même, pas pour vos projets de programmation. Les développeurs ont tendance à vouloir des versions plus récentes que ce qui est fourni avec la plupart des distributions traditionnelles, c'est pourquoi les distributions de libération de roulement sont populaires au sein de ce groupe. Mamba propose une troisième option, vous permettant d'exécuter un système de base stable tout en offrant un accès à de nouveaux packages de développement. Vous pouvez suivre les instructions sur le site Web. Cela se résume à coller un script dans votre terminal.
Cette alternative conda m'a donné l'environnement Linux Dev parfait
Retirez les maux de tête de la gestion des packages de programmation.
Avec Mamba installé, vous devrez installer les bibliothèques. Les bibliothèques que nous utiliserons dans cet article sont Numpy, Pandas, Scipy et Pingouin. Nous installerons également IPython, car il est si pratique pour une utilisation interactive sur l'interpréteur Python standard.
Nous allons créer un environnement appelé « statistiques » avec Mamba avec ces packages.
mamba create -n stats
Ensuite, nous devrons l'activer.
mamba activate stats
Avec notre environnement créé, nous pouvons ensuite installer des packages.
mamba install ipython numpy pandas scipy seaborn pingouin
Maintenant que l'environnement est configuré, nous pouvons commencer par les calculs.
Obtenir des données
Pour effectuer des calculs statistiques, vous aurez besoin de quelques données. Il peut s'agir de données que vous avez déjà, comme une feuille de calcul. Il pourrait s'agir de données que vous avez téléchargées à partir d'un site comme Kaggle. Seaborn et Pingouin peuvent accéder à des ensembles de données publics pour que vous puissiez jouer avec et apprendre.
Pour commencer, faites que l'environnement « Stats » est actif, puis exécutez IPython:
ipython
Nous allons commencer par importer des pandas:
import pandas as pd
Pandas a des méthodes à lire à partir de formats de fichiers de données populaires, notamment Excel .xls et le format de valeurs séparés par les virgules ou .csv, qui est répandu dans l'analyse des données.
Nous utiliserons la méthode Pandas Read_CSV à lire dans un fichier. Je vais démontrer avec mes données de prix d'ordinateur portable que j'ai utilisées pour construire un modèle complexe récemment.
data = pd.read_csv("data/laptop_prices.csv")
Ce code Python pourrait vous éviter de dépenser trop pour votre prochain ordinateur portable
Tout ce qu'il faut, c'est un peu d'aide de Python et d'un hyperplan.
Cela créera une structure de données appelée « DataFrame », qui est similaire à une feuille de calcul ou à une base de données relationnelle. Considérez-le comme un tableau contenant les données. Vous pouvez voir les premières lignes en appelant la méthode Head sur le DataFrame:
data.head()
Vous pouvez également créer des données vous-même en la générant au hasard. C'est bon pour créer des données de test. Vous pouvez utiliser le générateur de nombres aléatoires de Numpy pour cela.
Tout d'abord, importez Numpy:
import numpy as np
Ensuite, nous créerons un générateur de nombres aléatoires:
rng = np.random.default_rng()
Nous pouvons créer un tableau de 50 nombres aléatoires tirés de la distribution normale:
a = rng.standard_normal(50)
Il est facile de calculer les statistiques descriptives de base à l'aide de Python et Pandas.
Nous utiliserons l'ensemble de données sur les conseils SeaBorn pour notre DataFrame:
import seaborn as sns
tips = sns.load_dataset('tips')
Pour voir les colonnes, utilisez la méthode Head () mentionnée ci-dessus.
tips.head()
Nous pouvons utiliser la méthode décrire pour obtenir des statistiques descriptives de toutes les colonnes numériques dans le dataframe.
tips.describe()
Pandas imprimera les données pour les colonnes « Total_Bill », « Tip » et « Size ». Ce sera le nombre de points de données, la moyenne ou la moyenne, l'écart type, la valeur minimale, le quartile inférieur ou le 25e centile, la médiane ou le 50e centile, et le quartile supérieur ou le 75e centile.
Vous pouvez également afficher les statistiques descriptives pour une colonne individuelle:
tips('total_'bill').describe()
Vous pouvez également afficher les statistiques pour une colonne. Par exemple, pour voir le conseil médian:
tips('tip').median()
Régression: quelle est la tendance?
Des statistiques descriptives, bien, donnent des descriptions de données. Le pouvoir de l'analyse des données provient de la recherche de relations dans les données. La régression linéaire est l'une des façons les plus simples de le faire.
Nous pouvons visualiser la régression linéaire comme ajusté une ligne sur des points de données.
Revenons à notre ensemble de données TIPS. Nous utiliserons SeaBorn pour tracer les conseils par rapport à la facture totale. Le montant de la facture, la variable indépendante, sera sur l'axe des x, et la pointe, la variable dépendante, sera sur l'axe y. Nous pouvons tracer la ligne de régression sur le diagramme de dispersion pour voir à quel point c'est une bonne ajustement.
sns.regplot(x='total_bill',y='tip',data=tips)
Nous pouvons également obtenir une analyse plus formelle avec Pingouin:
import pingouin as pg
pg.linear_regression(tips('total_bill'),tips('tip'))
La colonne d'extrême gauche contiendra l'ordonnée Y et le coefficient pour la valeur X, dans ce cas, la facture totale. Cela vous permettra de reconstruire la ligne en tant qu'équation standard à interception de pente, mais le nombre à laquelle faire attention est le carré du coefficient de corrélation, ou R². Dans ce cas, c'est environ 0,46, ce qui est un assez bon ajustement dans la direction positive, confirmant ce que nous avons vu dans l'intrigue.
Tests statistiques: les différences sont-elles vraiment importantes?
Une chose qui se présente beaucoup dans les expériences qui ont un groupe témoin et un groupe expérimental, comme un test clinique d'un nouveau médicament, est de déterminer si les différences entre les deux sont dues au hasard ou non. Les tests statistiques entre les groupes peuvent nous aider à déterminer si une différence est statistiquement significative ou non.
L'un des tests T des étudiants les plus populaires est l'un des tests de l'étudiant, car il est bon pour traiter les petits échantillons nécessaires dans les expériences.
Nous utiliserons le générateur de nombres aléatoires de Numpy pour créer quelques groupes simulés de dix éléments chacun:
import numpy as np
rng = np.random.default_rng()
a = rng.standard_normal(10) * 20
b = rng.standard_normal(10) * 50
Pingouin a une fonction de test t construite pour tester l'hypothèse nulle selon laquelle il n'y a pas de différence significative entre les deux groupes:
pg.ttest(a,b)
Le nombre pour déterminer la signification dans la sortie est la valeur p. Nous utiliserons une valeur p de 0,05 pour déterminer la signification. Le résultat est d'environ 0,61. Comme c'est supérieur à 0,05, nous ne pouvons pas rejeter l'hypothèse nulle, nous concluons donc que les résultats ne sont pas statistiquement significatifs.
Ces exemples ne font que gratter la surface en ce qui concerne l'analyse des données dans Python. Maintenant que vous avez vu à quel point les opérations de données Python peuvent être faciles et puissantes avec l'aide de ces bibliothèques, vous pouvez voir pourquoi Python est un langage de choix pour l'analyse des données et la science des données.
