pandas

Tutoriel Pandas en Python

Tutoriel Pandas en Python
Dans cette leçon sur la bibliothèque Python Pandas, nous examinerons différentes structures de données que ce package Python fournit pour des fonctionnalités de traitement de données rapides qui sont efficaces pour les données dynamiques et la gestion d'opérations complexes sur des données multidimensionnelles. Dans cette leçon, nous couvrirons principalement:

Cela ressemble à beaucoup de choses à couvrir. Commençons maintenant.

Qu'est-ce que le package Python Pandas?

Selon la page d'accueil de Pandas : pandas est une bibliothèque open source sous licence BSD fournissant des structures de données et des outils d'analyse de données hautes performances et faciles à utiliser pour le langage de programmation Python.

L'une des choses les plus intéressantes à propos de Pandas est qu'il permet de lire des données à partir de formats de données courants tels que CSV, SQL, etc. très facile, ce qui le rend également utilisable dans les applications de production ou simplement dans certaines applications de démonstration.

Installer Python Pandas

Juste une note avant de commencer le processus d'installation, nous utilisons un environnement virtuel pour cette leçon que nous avons fait avec la commande suivante :

python -m virtualenv pandas
source pandas/bin/activer

Une fois l'environnement virtuel actif, nous pouvons installer la bibliothèque pandas dans l'environnement virtuel afin que les exemples que nous créons ensuite puissent être exécutés :

pip installer des pandas

Ou, nous pouvons utiliser Conda pour installer ce package avec la commande suivante :

conda installer des pandas

Nous voyons quelque chose comme ceci lorsque nous exécutons la commande ci-dessus :

Une fois l'installation terminée avec Conda, nous pourrons utiliser le package dans nos scripts Python comme :

importer des pandas au format pd

Commençons maintenant à utiliser Pandas dans nos scripts.

Lecture de fichier CSV avec Pandas DataFrames

Lire un fichier CSV est facile avec Pandas. Pour la démonstration, nous avons construit un petit fichier CSV avec le contenu suivant :

Nom, numéro de rôle, date d'admission, contact d'urgence
Shubham,1,20-05-2012,9988776655
Gagan,2,20-05-2009,8364517829
Oshima,3,20-05-2003,5454223344
Vyom,4,20-05-2009,1223344556
Ankur,5,20-05-1999,988776655
Vinod,6,20-05-1999,988776655
Vipin, 7,20-05-2002,9988776655
Ronak,8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ,10,20-05-2015,9988776655

Enregistrez ce fichier dans le même répertoire que le script Python. Une fois le fichier présent, ajoutez l'extrait de code suivant dans un fichier Python :

importer des pandas au format pd
étudiants = pd.read_csv("étudiants.csv")
étudiants.diriger()

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

La fonction head() dans Pandas peut être utilisée pour afficher un échantillon de données présentes dans le DataFrame. Attendez, DataFrame? Nous étudierons beaucoup plus le DataFrame dans la section suivante, mais comprenons simplement qu'un DataFrame est une structure de données à n dimensions qui peut être utilisée pour contenir et analyser des opérations complexes sur un ensemble de données.

Nous pouvons également voir combien de lignes et de colonnes les données actuelles ont :

étudiants.façonner

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Notez que Pandas compte également le nombre de lignes à partir de 0.

Il est possible d'obtenir juste une colonne dans une liste avec Pandas. Cela peut être fait avec l'aide de indexage dans les pandas. Regardons un extrait de code court pour la même chose :

student_names = étudiants['Nom']
noms_étudiants

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Mais ça ne ressemble pas à une liste, n'est-ce pas? Eh bien, nous devons appeler explicitement une fonction pour convertir cet objet en liste :

student_names = student_names.lister()
noms_étudiants

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Juste pour plus d'informations, nous pouvons nous assurer que chaque élément de la liste est unique et nous ne sélectionnons que des éléments non vides en ajoutant quelques vérifications simples comme :

student_names = étudiants['Name'].dropna().unique().lister()

Dans notre cas, la sortie ne changera pas car la liste ne contient déjà aucune valeur de faute.

Nous pouvons également créer un DataFrame avec des données brutes et transmettre les noms de colonnes avec, comme indiqué dans l'extrait de code suivant :

mes_données = pd.Trame de données(
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
colonnes=["Rang", "Nom de famille"]
)
mes données

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Slicing DataFrames

Décomposer les DataFrames pour extraire uniquement les lignes et les colonnes sélectionnées est une fonctionnalité importante pour garder l'attention sur les parties de données requises que nous devons utiliser. Pour cela, Pandas nous permet de découper DataFrame au fur et à mesure des besoins avec des instructions telles que :

Dans la section précédente, nous avons déjà vu l'indexation et le découpage avec des noms de colonnes au lieu des index. Il est également possible de mélanger le slicing avec des numéros d'index et des noms de colonnes. Regardons un extrait de code simple :

étudiants.loc[:5, 'Nom']

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Il est possible de spécifier plus d'une colonne :

étudiants.loc[:5, ['Nom', 'Contact d'urgence']]

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Structure de données de série dans Pandas

Tout comme Pandas (qui est une structure de données multidimensionnelle), une série est une structure de données à une dimension dans Pandas. Lorsque nous récupérons une seule colonne d'un DataFrame, nous travaillons en fait avec une série :

type(étudiants["Nom"])

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Nous pouvons également construire notre propre série, voici un extrait de code pour la même chose :

série = pd.Série([ 'Shubham', 3.7 ])
séries

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Comme le montre l'exemple ci-dessus, une série peut également contenir plusieurs types de données pour la même colonne.

Filtres booléens dans Pandas DataFrame

L'une des bonnes choses dans Pandas est de savoir comment extraire des données d'un DataFrame en fonction d'une condition. Comme extraire les étudiants uniquement lorsque leur numéro de rôle est supérieur à 6 :

roll_filter = étudiants['RollNo'] > 6
roll_filter

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Eh bien, ce n'est pas ce à quoi nous nous attendions. Bien que la sortie soit assez explicite sur les lignes qui satisfont au filtre que nous avons fourni, nous n'avons toujours pas les lignes exactes qui satisfont à ce filtre. Il s'avère que nous pouvons utiliser des filtres comme index DataFrame ainsi que:

étudiants[roll_filter]

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Il est possible d'utiliser plusieurs conditions dans un filtre afin que les données puissent être filtrées sur un filtre concis, comme :

next_filter = (étudiants['RollNo'] > 6) & (étudiants['Nom'] > 'S')
étudiants[next_filter]

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Calcul de la médiane

Dans un DataFrame, nous pouvons également calculer de nombreuses fonctions mathématiques. Nous allons donner un bon exemple de calcul de la médiane. La médiane sera calculée pour une date, pas seulement pour des nombres. Regardons un extrait de code court pour la même chose :

dates = étudiants['Date d'admission'].astype('datetime64[ns]').quantile(.5)
Rendez-vous

Une fois que nous avons exécuté l'extrait de code ci-dessus, nous verrons la sortie suivante :

Nous y sommes parvenus en indexant d'abord la colonne de date que nous avons, puis en fournissant un type de données à la colonne afin que Pandas puisse le déduire correctement lorsqu'il applique la fonction quantile pour calculer la date médiane.

Conclusion

Dans cette leçon, nous avons examiné divers aspects de la bibliothèque de traitement Pandas que nous pouvons utiliser avec Python pour collecter des données de diverses sources dans une structure de données DataFrame qui nous permet d'opérer de manière sophistiquée sur un ensemble de données. Il nous permet également d'obtenir un sous-ensemble de données sur lesquelles nous voulons travailler momentanément et fournit de nombreuses opérations mathématiques.

Veuillez partager vos commentaires sur la leçon sur Twitter avec @sbmaggarwal et @LinuxHint.

Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...
Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...
Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...