Comment utiliser les données de données Pandas dans Python pour analyser et manipuler les données
Si vous souhaitez analyser les données dans Python, vous voudrez vous familiariser avec les pandas, car il facilite la réalisation de l'analyse des données. Le DataFrame est le format de données principal avec lequel vous interagissez. Voici comment en faire usage.
Sommaire
Qu'est-ce que les pandas?
Pandas est un module Python qui est populaire dans la science des données et l'analyse des données. Il est un moyen d'organiser des données dans des dataframes et offre de nombreuses opérations que vous pouvez effectuer sur ces données. Il a été initialement développé par AQR Capital Management, mais il a été open à la fin des années 2000.
Pour installer des pandas en utilisant PYPI:
pip install pandas
Il est préférable de travailler avec Pandas à l'aide d'un cahier Jupyter ou d'une autre session Python interactive. Ipython est idéal pour les explorations occasionnelles de données dans le terminal, mais Jupyter économisera un enregistrement de vos calculs, ce qui est utile lorsque vous revenez à un ensemble de données jours ou semaines plus tard et lutter pour se souvenir de ce que vous avez fait. J'ai créé mon propre cahier d'exemples de code que vous pouvez examiner sur ma page GitHub. C'est de là que viennent les captures d'écran.
Qu'est-ce qu'un DataFrame?
Un dataframe est la structure de données principale avec laquelle vous travaillez dans Pandas. Comme une feuille de calcul ou une base de données relationnelle, elle organise les données en lignes et colonnes. Les colonnes sont regroupées par un nom d'en-tête. Le concept est similaire à R Data Cames, un autre langage de programmation populaire dans les statistiques et la science des données. Les colonnes DataFrame peuvent contenir à la fois des données de texte et numériques, y compris des entiers et des nombres à virgule flottante. Les colonnes peuvent également contenir des données de séries chronologiques.
Comment créer un dataframe
En supposant que vous avez déjà installé des pandas, vous pouvez créer un petit dataframe à partir d'autres éléments.
Je vais créer des colonnes représentant une fonction linéaire qui pourrait être utilisée pour l'analyse de régression plus tard. Tout d'abord, je vais créer l'axe X, ou la variable indépendante, à partir d'un tableau Numpy:
import numpy as np
x = np.linspace(-10,10)
Ensuite, je vais créer la colonne Y ou la variable dépendante comme une fonction linéaire simple:
y = 2*x + 5
Je vais maintenant importer des pandas et créer le DataFrame.
import pandas as pd
Comme pour Numpy, le raccourcissement du nom des pandas facilitera la tape.
La méthode DataFrame de Pandas prend un dictionnaire des noms des colonnes et des listes des données réelles. Je vais créer un dataframe nommé « DF » avec des colonnes intitulées « x » et « y ». Les données seront les tableaux Numpy que j'ai créés plus tôt.
df = pd.DataFrame({'x':x,'y':y})
Importation d'un dataframe
Bien qu'il soit possible de créer des dataframes à partir de zéro, il est plus courant d'importer les données d'une autre source. Étant donné que le contenu DataFrame est tabulaire, les feuilles de calcul sont une source populaire. Les valeurs les plus élevées de la feuille de calcul deviendront les noms de colonne.
Pour lire dans une feuille de calcul Excel, utilisez la méthode read_excel:
df = pd.read_excel('/path/to/spreadsheet.xls')
Étant un ventilateur open source, j'ai tendance à graviter vers LibreOffice Calc plutôt que sur Excel, mais je peux également importer d'autres types de fichiers. Le format .csv est largement utilisé et je peux exporter mes données dans ce format.
df = pd.read_csv('/path/to/data.csv')
Une fonctionnalité pratique est la possibilité de copier à partir du presse-papiers. C'est idéal pour les ensembles de données plus petits pour obtenir des calculs plus avancés que je ne peux obtenir dans une feuille de calcul:
df = pd.read_clipboard()
Examiner un dataframe
Maintenant que vous avez créé un dataframe, l'étape suivante consiste à examiner les données.
Une façon de le faire est d'obtenir les cinq premières lignes du dataframe avec la méthode de tête
df.head()
J'ai déjà utilisé la commande Head sur Linux ou d'autres systèmes de type Unix, c'est similaire. Si vous connaissez la commande de queue, il existe une méthode similaire dans les pandas qui obtient les dernières lignes d'un dataframe
df.tail()
Vous pouvez utiliser des méthodes de découpage du tableau pour afficher un sous-ensemble précis de lignes. Pour voir les lignes 1 à 3:
df(1:3)
Avec la commande Head dans Linux, vous pouvez afficher un nombre exact de lignes avec une argument numérique. Vous pouvez faire la même chose dans Pandas. Pour voir les 10 premières lignes:
df.head(10)
La méthode de la queue fonctionne de la même manière.
df.tail(10)
Plus intéressant est d'examiner les ensembles de données existants. Une façon populaire de le démontrer est avec l'ensemble de données des passagers sur le Titanic. Il est disponible sur Kaggle. Beaucoup d'autres bibliothèques statistiques comme SeaBorn et Pingouin vous permettra de charger dans des exemples de jeux de données afin que vous n'ayez pas à les télécharger. Pandas DataFrames sera également principalement utilisé pour alimenter les données dans ces bibliothèques, par exemple pour créer un tracé ou calculer une régression linéaire.
Avec les données téléchargées, vous devrez l'importer:
titanic = pd.read_csv('data/Titanic-Dataset.csv')
Regardons la tête à nouveau
titanic.head()
Nous pouvons également voir toutes les colonnes avec la méthode des colonnes
titanic.columns
Pandas propose de nombreuses méthodes pour obtenir des informations sur l'ensemble de données. La méthode décrite propose des statistiques descriptives de toutes les colonnes numériques dans le dataframe.
titanic.describe()
Le premier est la moyenne ou la moyenne. Ensuite, l'écart type, ou à quel point les valeurs sont étroitement ou étroitement espacées autour de la moyenne. Vient ensuite la valeur minimale, le quartile inférieur ou le 25e centile, la médiane ou le 50e centile, le quartile supérieur ou le 75e centile, et la valeur maximale. Ces valeurs constituent le « Résumé » du statisticien légendaire John Tukey Tukey. Vous pouvez voir rapidement comment vos données sont distribuées à l'aide de ces nombres.
Pour accéder à une colonne en soi, appelez le nom du DataFrame avec le nom de la colonne à carré-crochets ('()')
Par exemple, pour afficher la colonne avec le nom des passagers:
titanic('Name')
Parce que la liste est si longue, elle sera tronquée par défaut. Pour voir la liste complète des noms, utilisez la méthode TO_STRING.
titanic('Name').to_string()
Vous pouvez également désactiver la troncature. Pour l'éteindre avec des colonnes avec un grand nombre de lignes:
pd.set_option('display.max_rows', None)
Vous pouvez également utiliser d'autres méthodes lors de la sélection par ligne. Pour voir les statistiques descriptives sur une colonne:
titanic('Age').describe()
Vous pouvez également accéder aux valeurs individuelles
titanic('Age').mean()
titanic('Age').median()
Ajout et supprimer des colonnes
Non seulement vous pouvez également examiner les colonnes, mais vous pouvez également en ajouter de nouvelles. Vous pouvez ajouter une colonne de le remplir avec des valeurs, comme vous le feriez avec un tableau Python, mais vous pouvez également transformer des données et les ajouter à de nouvelles colonnes.
Revenons à l'original DataFrame que nous avons créé, DF. Nous pouvons effectuer des opérations sur chaque élément d'une colonne. Par exemple, pour carréger la colonne X:
df('x')**2
Nous pouvons créer une nouvelle colonne avec ces valeurs:
df('x2') = df('x')**2
Pour supprimer une colonne, vous pouvez utiliser la fonction de dépôt
df.drop('x2',axis=1)
L'argument de l'axe indique à Pandas de fonctionner par des colonnes au lieu des lignes.
Effectuer des opérations sur des colonnes
Comme mentionné précédemment, vous pouvez effectuer des opérations sur des colonnes. Vous pouvez effectuer des opérations mathématiques et statistiques sur eux.
Nous pouvons ajouter nos colonnes X et Y:
df('x') + df('y')
Vous pouvez sélectionner plusieurs colonnes avec des supports doubles.
Pour voir les noms et les âges des passagers du Titanic:
titanic(('Name','Age'))
Les éléments de colonne doivent être séparés par un caractère de virgule (,).
Vous pouvez également rechercher Pandas DataFrames, similaire aux recherches SQL. Pour voir les rangées de passagers qui avaient plus de 30 ans lorsqu'ils sont montés à bord de la doublure malheureuse, vous pouvez utiliser une sélection booléenne à l'intérieur des supports:
titanic(titanic('Age') > 30)
C'est comme l'instruction SQL:
SELECT * FROM titanic WHERE Age > 30
Vous pouvez sélectionner la colonne en utilisant .loc avant les supports:
titanic.loc (titanic('Age') > 30)
Faisons un complot de bar où les passagers du Titanic se sont embarqués. Nous pouvons faire notre propre sous-ensemble de DataFrame avec les trois points d'embarquement, Southampton, Angleterre; Cherbourg, France; et Queenstown, Irlande (maintenant Cobh).
embarked = titanic('Embarked').value_counts()
Cela créera un nouveau DataFrame avec le nombre de personnes qui se sont lancées à chaque port. Mais nous avons un problème. Les en-têtes de colonne sont simplement des lettres pour le nom du port. Remplacement-les par les noms complets du port. La méthode Renommer prendra un dictionnaire des anciens noms et des nouveaux.
embarked = embarked.rename({'S':'Southhampton','C':'Cherbourg','Q':'Queenstown'})
Avec les colonnes renommées, nous pouvons faire notre graphique à barres. C'est facile avec Pandas:
embarked.plot(kind='bar')
Cela devrait vous aider à commencer à explorer les ensembles de données Pandas. Pandas est l'une des raisons pour lesquelles Python est devenu si populaire auprès des statisticiens, des scientifiques des données et de toute personne qui a besoin d'explorer des données.
