Introduction à numpy et pandas
NumPy et Pandas sont deux bibliothèques Python essentielles pour la manipulation de données.
NumPy, ou Numerical Python, est une bibliothèque qui fournit des structures de données efficaces pour manipuler et stocker des données numériques. Elle offre un objet de tableau multidimensionnel, numpy array
, qui peut contenir des données de n’importe quel type (entiers, flottants, chaînes, etc.) et permet des opérations mathématiques rapides sur ces tableaux.
Voici un exemple de création d’un tableau NumPy :
import numpy as np
# Création d'un tableau numpy à une dimension
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)
Pandas, en revanche, est une bibliothèque de manipulation de données qui fournit des structures de données et des fonctions de haut niveau pour travailler avec des données structurées ou tabulaires. Elle est particulièrement utile pour manipuler des données numériques et des données de type chaîne qui sont stockées dans des objets DataFrame
et Series
.
Voici un exemple de création d’un DataFrame Pandas :
import pandas as pd
# Création d'un dataframe pandas
data = {'Colonne1': [1, 2, 3, 4, 5], 'Colonne2': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data)
print(df)
Dans les sections suivantes, nous explorerons plus en détail comment manipuler plusieurs colonnes dans les tableaux Python en utilisant ces deux bibliothèques puissantes.
Création de tableaux à plusieurs colonnes en Python
La création de tableaux à plusieurs colonnes en Python peut être réalisée à l’aide des bibliothèques NumPy et Pandas.
NumPy
Avec NumPy, vous pouvez créer un tableau à deux dimensions (ou un tableau à plusieurs colonnes) comme suit :
import numpy as np
# Création d'un tableau numpy à deux dimensions
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d)
Dans cet exemple, chaque sous-liste représente une ligne du tableau. Le tableau a donc trois lignes et trois colonnes.
Pandas
Avec Pandas, vous pouvez créer un DataFrame
, qui est essentiellement un tableau à deux dimensions avec des étiquettes pour les lignes et les colonnes. Voici comment vous pouvez le faire :
import pandas as pd
# Création d'un dataframe pandas à plusieurs colonnes
data = {'Colonne1': [1, 2, 3], 'Colonne2': ['a', 'b', 'c'], 'Colonne3': [1.1, 2.2, 3.3]}
df = pd.DataFrame(data)
print(df)
Dans cet exemple, chaque clé du dictionnaire représente le nom d’une colonne et chaque valeur est une liste de valeurs pour cette colonne. Le DataFrame
a donc trois colonnes.
Dans les sections suivantes, nous explorerons comment accéder et manipuler plusieurs colonnes dans ces tableaux Python.
Accès et manipulation de plusieurs colonnes dans un tableau numpy
L’accès et la manipulation de plusieurs colonnes dans un tableau numpy sont des opérations courantes lors de la manipulation de données. Voici comment vous pouvez le faire :
Accès aux colonnes
Pour accéder à une colonne spécifique dans un tableau numpy, vous pouvez utiliser l’indexation. Par exemple, pour accéder à la première colonne d’un tableau à deux dimensions, vous pouvez faire comme suit :
import numpy as np
# Création d'un tableau numpy à deux dimensions
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Accès à la première colonne
first_column = array_2d[:, 0]
print(first_column)
Dans cet exemple, :
signifie « toutes les lignes » et 0
est l’indice de la première colonne.
Manipulation des colonnes
La manipulation des colonnes dans un tableau numpy peut impliquer des opérations telles que l’ajout, la suppression ou la modification de colonnes. Par exemple, pour ajouter une nouvelle colonne à un tableau numpy, vous pouvez utiliser la fonction numpy.column_stack()
:
# Ajout d'une nouvelle colonne
new_column = np.array([10, 11, 12])
array_2d = np.column_stack((array_2d, new_column))
print(array_2d)
Dans cet exemple, numpy.column_stack()
prend un tuple de tableaux et les empile horizontalement pour créer un tableau à deux dimensions.
Notez que la manipulation de colonnes dans un tableau numpy peut être plus complexe que dans un DataFrame pandas, car les tableaux numpy sont conçus pour être des structures de données homogènes et multidimensionnelles, tandis que les DataFrame pandas sont conçus pour être des structures de données hétérogènes et bidimensionnelles. Dans les sections suivantes, nous explorerons comment manipuler plusieurs colonnes dans un DataFrame pandas.
Conversion de colonnes multiples en une seule colonne dans un DataFrame
Il est courant d’avoir besoin de convertir plusieurs colonnes en une seule colonne dans un DataFrame lors de la manipulation de données. Cela peut être réalisé en utilisant la fonction melt()
de la bibliothèque Pandas.
La fonction melt()
est utilisée pour transformer ou remodeler les données. Elle prend en paramètres :
– id_vars
: une liste de colonnes à garder intactes.
– value_vars
: une liste de colonnes à convertir en une seule colonne.
Voici un exemple de conversion de plusieurs colonnes en une seule colonne dans un DataFrame :
import pandas as pd
# Création d'un dataframe pandas à plusieurs colonnes
data = {'Colonne1': [1, 2, 3], 'Colonne2': ['a', 'b', 'c'], 'Colonne3': [1.1, 2.2, 3.3]}
df = pd.DataFrame(data)
# Conversion de plusieurs colonnes en une seule colonne
df_melted = df.melt(id_vars=['Colonne1'], value_vars=['Colonne2', 'Colonne3'])
print(df_melted)
Dans cet exemple, Colonne1
est gardée intacte, tandis que Colonne2
et Colonne3
sont converties en une seule colonne. Le DataFrame résultant a trois colonnes : Colonne1
, variable
(qui contient les noms des colonnes originales) et value
(qui contient les valeurs correspondantes des colonnes originales).
Notez que la fonction melt()
est une fonction très puissante qui peut être utilisée pour une grande variété de transformations de données. Dans les sections suivantes, nous explorerons d’autres opérations courantes sur les tableaux multidimensionnels.
Opérations courantes sur les tableaux multidimensionnels
Les tableaux multidimensionnels, comme ceux créés avec NumPy, sont des structures de données puissantes qui peuvent être manipulées de nombreuses façons pour analyser et traiter les données. Voici quelques opérations courantes que vous pouvez effectuer sur ces tableaux.
Indexation et découpage
L’indexation et le découpage sont des moyens d’accéder à des éléments spécifiques, des lignes, des colonnes ou des sous-tableaux dans un tableau multidimensionnel.
import numpy as np
# Création d'un tableau numpy à deux dimensions
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Accès à un élément spécifique
print(array_2d[0, 1]) # Affiche "2"
# Accès à une ligne spécifique
print(array_2d[1]) # Affiche "[4 5 6]"
# Accès à une colonne spécifique
print(array_2d[:, 2]) # Affiche "[3 6 9]"
# Découpage pour obtenir un sous-tableau
print(array_2d[1:, :2]) # Affiche "[[4 5] [7 8]]"
Opérations mathématiques
Les opérations mathématiques peuvent être effectuées sur l’ensemble du tableau ou sur des éléments spécifiques du tableau.
# Addition de deux tableaux
array_1 = np.array([[1, 2, 3], [4, 5, 6]])
array_2 = np.array([[7, 8, 9], [10, 11, 12]])
print(array_1 + array_2) # Affiche "[[ 8 10 12] [14 16 18]]"
# Multiplication d'un tableau par un scalaire
print(array_1 * 2) # Affiche "[[ 2 4 6] [ 8 10 12]]"
# Calcul de la somme de tous les éléments d'un tableau
print(np.sum(array_1)) # Affiche "21"
Redimensionnement et remodelage
Le redimensionnement et le remodelage permettent de modifier la forme d’un tableau sans changer ses données.
# Redimensionnement d'un tableau pour qu'il ait une seule ligne
print(array_1.reshape(-1)) # Affiche "[1 2 3 4 5 6]"
# Remodelage d'un tableau pour qu'il ait 3 lignes et 2 colonnes
print(array_1.reshape(3, 2)) # Affiche "[[1 2] [3 4] [5 6]]"
Ces opérations sont fondamentales pour travailler avec des tableaux multidimensionnels en Python. Dans les sections suivantes, nous explorerons d’autres aspects de la manipulation de données en Python.
Conclusion et meilleures pratiques
En conclusion, la manipulation de tableaux à plusieurs colonnes en Python est une compétence essentielle pour tout scientifique des données ou programmeur Python. Que vous utilisiez NumPy pour des opérations mathématiques rapides sur des tableaux multidimensionnels, ou Pandas pour manipuler et analyser des données tabulaires, la compréhension de ces bibliothèques est fondamentale.
Voici quelques meilleures pratiques à garder à l’esprit lors de la manipulation de tableaux à plusieurs colonnes en Python :
-
Comprendre les structures de données : Avant de commencer à manipuler des tableaux, assurez-vous de comprendre les structures de données que vous utilisez. Les tableaux NumPy et les DataFrames Pandas ont des caractéristiques et des fonctionnalités différentes qui peuvent affecter la façon dont vous les utilisez.
-
Utiliser les fonctions intégrées : NumPy et Pandas ont de nombreuses fonctions intégrées qui peuvent faciliter la manipulation de tableaux. Par exemple,
numpy.reshape()
,numpy.column_stack()
,pandas.melt()
, etc. Utilisez ces fonctions chaque fois que possible pour rendre votre code plus efficace et plus lisible. -
Faire attention aux types de données : Lors de la manipulation de tableaux, faites attention aux types de données. Par exemple, un tableau NumPy est homogène (tous les éléments sont du même type), tandis qu’un DataFrame Pandas peut contenir des colonnes de différents types.
-
Tester votre code : Lorsque vous écrivez du code pour manipuler des tableaux, assurez-vous de le tester avec différentes entrées pour vous assurer qu’il fonctionne comme prévu.
En suivant ces meilleures pratiques, vous pouvez vous assurer que votre code est efficace, lisible et robuste. Bonne programmation en Python !