Remodelage des données avec Pandas

Beginner

This tutorial is from open-source community. Access the source code

Introduction

En analyse de données, il est courant de rencontrer des ensembles de données qui ne sont pas organisés comme nous le souhaitons. La restructuration des données fait référence au processus de changement de l'organisation des données en lignes et en colonnes. Dans ce laboratoire, nous explorerons certaines des méthodes clés dans Pandas pour restructurer les données, notamment Pivot, Stack, Unstack, Melt, Tabulations croisées, Carrelage, Factorisation et Explosion.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.

Importation des bibliothèques nécessaires et création d'un DataFrame

Tout d'abord, importons les bibliothèques nécessaires et créons un DataFrame pour nos exemples.

import pandas as pd
import numpy as np

## Création d'un DataFrame
np.random.seed([3, 1415])
n = 20
cols = np.array(["key", "row", "item", "col"])
df = cols + pd.DataFrame((np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str))
df.columns = cols
df = df.join(pd.DataFrame(np.random.rand(n, 2).round(2)).add_prefix("val"))

Transposition avec des agrégations simples

La transposition est l'une des méthodes clés pour restructurer les données dans Pandas. Elle fournit un moyen de transformer vos données afin que vous puissiez les visualiser sous différents angles.

## Transposez df avec la moyenne de val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc="mean", fill_value=0)

Transposition avec plusieurs agrégations

Nous pouvons également effectuer plusieurs agrégations dans la transposition.

## Transposez df avec la moyenne et la somme de val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc=["mean", "sum"])

Tabulations croisées

La tabulation croisée est une méthode pour analyser quantitativement la relation entre plusieurs variables.

## Tabulation croisée entre row et col
df.pivot_table(index="row", columns="col", fill_value=0, aggfunc="size")

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur le remodelage des données avec Pandas. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.