Python est le langage de programmation le plus utilisé dans le monde aujourd’hui et l’une des utilisations de Python consiste à analyser des données. Le package Pandas est l’une des bibliothèques d’analyse de données les plus populaires, fournissant des structures de données et des outils d’analyse de données hautes performances et faciles à utiliser. Dans cet article, nous discuterons de la bibliothèque Pandas avec un aperçu de certaines des fonctions utiles que Pandas a à ce jour ou vous pouvez dire qu’il s’agit d’une feuille de triche Pandas. Nous utiliserons quelques exemples pour montrer au lecteur comment l’analyse de données de base peut être effectuée en quelques lignes de code Python.

Brève introduction sur les pandas :

  • C’est une bibliothèque Python pour la manipulation et l’analyse de données.
  • Il est open source, disponible gratuitement et multiplateforme.
  • fournit des structures de données et des opérations pour manipuler des tables numériques et des séries chronologiques à analyser.
  • Il permet à l’utilisateur d’effectuer des opérations sur les données stockées dans les tables comme le filtrage, le tri, le regroupement, la fusion, etc.

Comment utiliser la bibliothèque pandas :

Prérequis:

  1. Pour utiliser pandas, vous devez disposer de la version 3.5 de Python et des versions ultérieures. Vous pouvez facilement installer Python sur votre système en accédant à https://www.python.org/downloads/, en téléchargeant et en installant le logiciel.
  2. Parfois, les pandas dépendent également d’une autre bibliothèque comme NumPy et bien d’autres, vous pouvez installer NumPy en utilisant la commande suivante dans votre invite de commande ou votre terminal. pip3 install numpy
  1. Vous pouvez maintenant installer des pandas sur votre système en utilisant la commande suivante dans votre invite de commande ou votre terminal. pip3 install pandas
  1. En outre, il existe un autre logiciel appelé Jupyter notebook que nous devons utiliser avec la bibliothèque de panda sur notre projet Python, il rend le processus d’utilisation des pandas beaucoup plus efficace.

Bloc-notes Jupyter : Le bloc-notes Jupyter est une plate-forme informatique interactive basée sur le Web. il s’agit d’un logiciel open source exécuté à l’aide du langage de programmation Python. Le bloc-notes Jupyter est couramment utilisé par les scientifiques des données et d’autres utilisateurs techniques qui cherchent à partager leur travail, car il permet de créer et de partager des documents contenant du texte enrichi, du code, des mathématiques, des tracés et d’autres types de commentaires. Vous pouvez installer le notebook Jupyter à l’aide de la commande suivante dans votre terminal.

pip install jupyter notebook

Pour accéder au bloc-notes, vous pouvez utiliser cette commande.

jupyter notebook

Installer

Importation des pandas et de la bibliothèque NumPy

import pandas as pd
import numpy as p

Structure de données des pandas

Création de séries :

Une série de pandas ressemble à n’importe quelle autre série que vous avez pu rencontrer dans vos relations quotidiennes. Il s’agit d’un tableau étiqueté unidimensionnel qui peut contenir n’importe quel type de données.

series = pd.Series([2, -8, 3, 9],  index=['w',  'x',  'y',  'z'])

Création de dataframes :

Un bloc de données dans la bibliothèque pandas est une structure de données étiquetée bidimensionnelle où chaque ligne représente une observation.

df = pd.DataFrame(
        {"words" : ['good' ,'better', 'best'],
          "number" : [22, 33, 44],
          "names" : ['one' ,'two', 'three']},        index = [1, 2, 3])

Lire des données dans Pandas :

Pour lire le fichier CSV, utilisez la fonction pd.read_csv :

pd.read_csv('files.csv')

Pour voir les deux premières lignes, vous pouvez utiliser :

df.head(2)

Pour voir les lignes entre certains index

df[3:5]

Pour voir les deux dernières lignes, vous pouvez utiliser :

df.tail(2)

Pour voir l’analyse des colonnes numériques :

df.describe()

Pour afficher uniquement les colonnes :

df.columns

Pour voir des colonnes spécifiques :

df['Name']

À la place du nom, vous pouvez utiliser n’importe quel nom des colonnes que contient le fichier CSV

Pour voir plus de deux colonnes en même temps :

df[['Name', 'HP']]

Pour voir un nombre spécifique de noms :

df['Name'][5:0]

Vous pouvez ajouter n’importe quel nombre à la place de 5 pour obtenir le nombre spécifique de noms

Pour obtenir la ligne spécifique :

df.iloc[2]

Vous pouvez remplacer 2 par n’importe quel nombre de lignes.

Pour obtenir plusieurs lignes de blocs de données en même temps :

df.iloc[1:4]

Obtenir la valeur spécifique du fichier CSV

df.iloc[5,1]

Vous pouvez utiliser la fonction pandas iloc pour obtenir des valeurs spécifiques à partir d’un fichier CSV en fonction de leur position en ligne et en colonne.

Pour obtenir toutes les informations sur les données :

df.info()

Exportation de la trame de données dans des fichiers CSV.

Exporter les données dans un fichier excel

Pour exporter les données dans un fichier Excel, nous avons besoin d’une fonction simple appelée to_excel.

df.to_excel('file.xlsx')

Exporter des données dans un fichier texte

Pour exporter les données dans un fichier texte, nous avons besoin d’une fonction simple appelée to_csv.

df.to_csv('file.txt')

Exporter des données dans un CSV

Pour exporter les données dans un fichier CSV, nous avons besoin d’une fonction simple appelée to_csv.

df.to_csv('file.csv')

Une fois que vous avez exécuté le script Python, le fichier file.csv sera situé dans le répertoire racine du projet. Si vous ne souhaitez pas inclure les numéros d’index, utilisez simplement :

df.to_csv('files.csv' , index=False)

Tri des données

Trier par nom alphabétique croissant :

df.sort_values(['Type 1'], ascending=False)

Si vous souhaitez afficher les données sous forme décroissante, utilisez true

Trier par nom alphabétique avec deux valeurs :

df.sort_values(['Type 1', 'HP'], ascending=[1,0])

Apporter des modifications aux données

Ajout d’une nouvelle colonne à notre bloc de données

df['total'] = 0

Ajout d’une nouvelle colonne avec la valeur combinée d’autres données

df['Total'] = df['HP'] + df['Defense'] + df['Attack'] + df['Sp. Atk'] + df['Sp. Def'] + df['Speed']

Vous pouvez sélectionner la colonne que vous souhaitez ajouter

Pour déplacer la place de la colonne :

df = df[cols[0:4] + [cols[-1]]+cols[4:12]]

Ajouter le rand à la valeur perticuller

df.rank()

Modifications conditionnelles des données

Pour modifier la valeur spécifique :

df.loc[df['Type 1'] == 'Rock', 'Type 1' ] = 'Fire'

Filtrage des données

Lignes avec des valeurs d’index correspondantes :

df.loc[df['Type 1'] =='Grass']

Pour obtenir plusieurs lignes avec des valeurs d’index macting :

df.loc[(df['Type 2'] == 'Ghost') | (df['Type 2'] == 'Dark')]

Pour obtenir une colonne avec un nombre inférieur ou supérieur au nombre fourni :

df.loc[df['HP'] > 150]

Nous pouvons également enregistrer le nouveau bloc de données filtré en créant une nouvelle variable et en l’exportant afin que vous puissiez vérifier votre mot et à tout moment vous pouvez accéder à ce bloc de données.

new_df = df.loc[df['HP'] > 150]
new_df.to_csv('new_file.csv')

Pour réinitialiser l’index :

#for reseting the index
new_df.reset_index(drop=True, inplace=True)

Pour filtrer la valeur avec des mots spécifiques :

df.loc[~df['Name'].str.contains('Mega')]

Vous pouvez voir dans la sortie que chaque nom contient des méga si vous souhaitez supprimer tous les noms avec méga en utilisant un signe presque égal :

df.loc[~df['Name'].str.contains('Mega')]

Statistiques agrégées

Compter le nombre d’enregistrements pour chaque valeur distincte dans une colonne :

df['count'] = 1
df.groupby('Type 2').count()['count']

Quelques autres fonctions utiles


#get number of rows and columns from a data frame
df.shape

#get all the columns of the data frame
df.columns

#get all index values of the data frame
df.index

#get min max index value
df.min()
df.max()

#get min max index value
df.idxmin()
df.idxmax()

#get sum of vlaues
df.sum()

#substract and add in all the values with a specific number
s.sub(2)
s.add(2)

#Multiply and Divide all the values with a specific number
s.mul(2)
s.div(2)

Voici quelques tutoriels utiles que vous pouvez lire :