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 des fonctionnalités de traitement des données rapides qui sont efficaces pour les données dynamiques et la gestion des opérations complexes sur des données multidimensionnelles. Dans cette leçon, nous couvrirons majeur:
  • Qu'est-ce que le package Pandas
  • Installation et démarrage
  • Chargement des données de CSVS dans Pandas DataFrame
  • Qu'est-ce que DataFrame et comment ça marche
  • Coupure de dataframes
  • Opérations mathématiques sur DataFrame

Cela ressemble beaucoup à 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 et liée à BSD offrant des structures de données et des outils d'analyse de données de haute performance et faciles à utiliser pour le langage de programmation Python.

L'une des choses les plus cool à propos des pandas est qu'il fait des données de lecture à partir de formats de données courants comme CSV, SQL, etc. Très facile, ce qui le rend également utilisable dans les applications de qualité de production ou simplement quelques applications de démonstration.

Installer Python Pandas

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

Python -M Virtualenv Pandas
Source pandas / bac / activer

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

pip install pandas

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

conda installer des pandas

Nous voyons quelque chose comme ça 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 en tant que PD

Commençons à utiliser des pandas dans nos scripts maintenant.

Lire le fichier CSV avec Pandas DataFrames

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

Nom, Rollno, 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 9988776655
Vinod, 6,20-05-1999 9988776655
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 du script Python. Une fois le fichier présent, ajoutez l'extrait de code suivant dans un fichier python:

Importer des pandas en tant que PD
étudiants = PD.read_csv ("étudiants.CSV ")
étudiants.diriger()

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

La fonction Head () dans Pandas peut être utilisée pour montrer un échantillon de données présentes dans le DataFrame. Attendez, DataFrame? Nous étudierons beaucoup plus sur DataFrame dans la section suivante, mais comprenons simplement qu'un DataFrame est une structure de données en n dimension qui peut être utilisée pour maintenir et analyser ou complexer des opérations sur un ensemble de données.

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

étudiants.forme

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

Notez que les pandas comptent é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 en pandas. Regardons un extrait de code court pour le même:

Student_Names = étudiants ['name']
Student_Names

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

Mais cela ne ressemble pas à une liste, le fait? Eh bien, nous devons appeler explicitement une fonction pour convertir cet objet en une liste:

Student_Names = Student_Names.lister()
Student_Names

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

Juste pour des informations supplémentaires, nous pouvons nous assurer que chaque élément de la liste est unique et que nous ne choisissons que des éléments non vides en ajoutant des 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 une dataframe avec des données brutes et transmettre les noms de colonne avec, comme indiqué dans l'extrait de code suivant:

my_data = pd.Trame de données(
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
]],
colonnes = ["Rank", "nom de famille"]
)
mes données

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

Coupure de dataframes

La rupture de données de données pour extraire uniquement les lignes et les colonnes sélectionnées est une fonctionnalité importante pour garder l'attention sur les parties requises des données que nous devons utiliser. Pour cela, Pandas nous permet de trancher DataFrame au fur et à mesure que vous avez besoin avec des instructions comme:

  • ILOC [: 4 ,:] - Sélectionne les 4 premières lignes et toutes les colonnes pour ces lignes.
  • Iloc [: ,:] - le Frame Frame complet est sélectionné
  • ILOC [5 :, 5:] - lignes de la position 5 à partir de la position 5 de la position 5.
  • Iloc [:, 0] - la première colonne, et toutes les lignes de la colonne.
  • Iloc [9 ,:] - la 10e rangée, et toutes les colonnes de cette ligne.

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

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

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

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

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

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

Structure de données de la série dans les 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 à partir d'un dataframe, nous travaillons en fait avec une série:

type (étudiants ["nom"])

Une fois que nous exécuterons 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 le même:

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

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

Aussi clair à partir de l'exemple ci-dessus, une série peut contenir plusieurs types de données pour la même colonne également.

Filtres booléens dans Pandas DataFrame

L'une des bonnes choses dans les pandas est de savoir comment il s'agit d'extraire les données d'une dataframe basée sur une condition. Comme l'extraction des étudiants uniquement lorsque le numéro de rouleau est supérieur à 6:

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

Une fois que nous exécuterons 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 ont satisfait le filtre que nous avons fourni, mais nous n'avons toujours pas les lignes exactes qui satisfaisaient ce filtre. Il s'avère que Nous pouvons utiliser des filtres comme index de données de données aussi:

étudiants [roll_filter]

Une fois que nous exécuterons 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 ['name']> 's')
étudiants [next_filter]

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

Calcul de la médiane

Dans une dataframe, nous pouvons également calculer de nombreuses fonctions mathématiques. Nous donnerons un bon exemple de calcul de la médiane. La médiane sera calculée pour une date, pas pour les chiffres seulement. Regardons un extrait de code court pour le même:

Dates = étudiants ['Date d'admission'].Astype ('DateTime64 [ns]').quantile (.5)
Rendez-vous

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

Nous y sommes atteints en indexant d'abord la colonne de date que nous avons, puis en fournissant un type de données à la colonne afin que les pandas puissent le déduire correctement lorsque vous 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 des Pandas que nous pouvons utiliser avec Python pour collecter des données à partir de diverses sources dans une structure de données DataFrame qui nous permet de fonctionner 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.