Aide-mémoire Pandas pour la science des données dans Python
⚡ Résumé intelligent
Les fiches récapitulatives de Pandas regroupent les commandes les plus utilisées de la bibliothèque sur une seule page. Ce guide les classe par tâche : installation, création de Series et de DataFrames, importation de fichiers, sélection de lignes, nettoyage des données, application de fonctions et exportation des résultats.
Qu'est-ce qu'une fiche récapitulative Pandas ?
La bibliothèque Pandas propose des centaines de fonctions, mais seule une petite partie est utilisée au quotidien. Aide-mémoire Pandas Il s'agit d'un document de référence d'une page répertoriant ces commandes, regroupées selon la tâche qu'elles accomplissent.
Ce document aborde les structures Series et DataFrame, l'importation et l'exportation de fichiers, la sélection et le tri des données, le nettoyage des valeurs et l'application de fonctions. Chaque section ci-dessous associe une brève explication à un code exécutable, ce qui permet également de réviser ces notions. compétences en analyse de données.
👉 Téléchargez le PDF de l'aide-mémoire ici
Comment installer et importer Pandas
Deux commandes permettent de configurer Pandas, et les deux s'exécutent dans un terminal ou un Jupyter Carnets cellule.
Étape 1) Installer Pandas
Exécutez ce code une seule fois par environnement ; faites-le précéder d’un point d’exclamation dans une cellule de bloc-notes.
pip install pandas
Étape 2) Importer Pandas
Importez le package sous l'alias pd, ce que suppose chaque exemple présenté ici.
import pandas as pd
Vous pouvez désormais utiliser les fonctions Pandas pour manipuler, analyser et nettoyer vos données. Les sections ci-dessous les listent dans l'ordre où vous les utilisez habituellement.
Structures de données Pandas
Pandas possède deux structures de données, Série et Trame de donnéesLes deux sont des tableaux étiquetés et peuvent contenir n'importe quel type de données. La seule différence réside dans leur dimensionnalité : une Series est un tableau unidimensionnel, tandis qu'un DataFrame est un tableau bidimensionnel construit à partir de… NumPy tableaux en dessous.
| Fonctionnalité | Série | Trame de données |
|---|---|---|
| Dimensions | unidimensionnel | Bidimensionnel |
| Capacité | Une seule colonne étiquetée | Plusieurs colonnes, types de données mixtes |
| Constructeur | pd.Series() | pd.DataFrame() |
1. Série
Il s'agit d'un tableau unidimensionnel étiqueté. Il peut contenir n'importe quel type de données, et None devient une valeur manquante.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. Cadre de données
Il s'agit d'un tableau bidimensionnel étiqueté. Il peut contenir tout type de données et des colonnes de tailles différentes.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
Le pense-bête imprimable ci-dessous rassemble les mêmes commandes sur une seule page.
Importation de données
Pandas peut lire de nombreux types de fichiers directement dans un DataFrame. Chaque lecteur ci-dessous renvoie un DataFrame. read_csv () est le plus utilisé.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
Sélection
Vous pouvez sélectionner des éléments par leur emplacement ou par leur index. La même syntaxe avec crochets permet de sélectionner des lignes, des colonnes et des tranches dans les deux structures.
1. Série
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. Cadre de données
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Sélection par indexation et paramétrage booléens
Utilisez le iloc et iat pour les positions entières, et loc et at pour les étiquettes.
1. Par poste
df.iloc[0, 1] df.iat[0, 1]
2. Par étiquette
df.loc[[0], ['Name']]
3. Par étiquette/position
df.loc[2] # Both are same
df.iloc[2]
4. Indexation booléenne
Un masque booléen ne conserve que les lignes où la condition est vraie. Le deuxième exemple ajoute l'opérateur NON. ~, elle renvoie donc également des valeurs qui ne sont pas supérieures à 1.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
Nettoyage de données
Pour Python À des fins de nettoyage des données, vous pouvez effectuer les opérations suivantes :
- Renommez les colonnes à l'aide de
rename()méthode. - Mettre à jour les valeurs à l'aide de
at[]oriat[]méthode permettant d'accéder à des éléments spécifiques et de les modifier. - Créez une copie d'une série ou d'un DataFrame en utilisant
copy()méthode. - Vérifiez les valeurs NULL à l'aide de
isnull()et les déposer en utilisant la méthodedropna()méthode. - Vérifiez les valeurs en double à l'aide de
duplicated()La méthode consiste à les déposer.drop_duplicates()méthode. - Remplacez les valeurs NULL à l'aide de
fillna()méthode avec une valeur spécifiée. - Remplacez les valeurs en utilisant
replace()méthode. - Trier les valeurs en utilisant
sort_values()méthode. - Classez les valeurs en utilisant
rank()méthode.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Notez que s1 = s Cela ne fait que créer un deuxième nom pour le même objet, jamais une copie — c'est pourquoi copy() le suit.
Récupération d'informations
Vous pouvez effectuer les opérations suivantes pour récupérer des informations :
- Utilisez le bouton
shapeattribut permettant d'obtenir le nombre de lignes et de colonnes. - Utilisez le bouton
head()ortail()méthode pour obtenir les premières ou les dernières lignes comme échantillon. - Utilisez le bouton
info(),describe()ordtypesméthode permettant d'obtenir des informations sur le type de données, le nombre, la moyenne, l'écart type, les valeurs minimale et maximale. - Utilisez le bouton
count(),min(),max(),sum(),mean()etmedian()méthodes pour obtenir des informations statistiques spécifiques sur les valeurs. - Utilisez le bouton
loc[]méthode pour obtenir une ligne. - Utilisez le bouton
groupby()méthode permettant d'appliquer la fonction GROUP BY pour regrouper les valeurs similaires dans une colonne d'un DataFrame.
1. Information basique
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. Résumé
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Application de fonctions
apply() Elle applique une fonction à chaque valeur. Les règles d'alignement déterminent ensuite ce qui se passe lorsque deux objets ne partagent qu'une partie de leur index.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Alignement des données internes
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Arithmétique Operaopérations avec les méthodes de remplissage
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtrer, trier et regrouper par
Ces fonctions peuvent être utilisées pour filtrer, trier et regrouperping Objets Series et DataFrame.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Exportation de données
Chaque module d'écriture ci-dessous est le reflet d'un module de lecture de la section d'importation, permettant ainsi à un fichier d'effectuer l'aller-retour sans outil supplémentaire.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colab de l'aide-mémoire
Chaque commande présentée ici peut être exécutée dans le notebook associé : Aide-mémoire Pandas – Python pour la science des données.ipynb.

