Comment décompresser les listes imbriquées dans des DataFrames avec Pandas ?

Barbara Streisand
Libérer: 2024-11-13 07:28:02
original
214 Les gens l'ont consulté

How to Unpack Nested Lists in DataFrames with Pandas?

Explosion de listes imbriquées dans des DataFrames avec Pandas

Défi : Convertir une cellule DataFrame contenant une liste en lignes séparées pour chaque valeur.

Considérez un DataFrame avec une colonne de noms d'adversaires et une colonne correspondante de voisins les plus proches, représentées sous forme de liste. Le but est de décompresser ces listes, en empilant chaque voisin sur une ligne distincte pour son adversaire correspondant.

Solution :

Pandas a simplifié cette opération avec l'exploser(). méthode dans la version 0.25 :

import pandas as pd

# Sample DataFrame
df = (pd.DataFrame({'name': ['A.J. Price'] * 3, 
                    'opponent': ['76ers', 'blazers', 'bobcats'], 
                    'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3})
      .set_index(['name', 'opponent']))

# Explode the 'nearest_neighbors' column
df = df.explode('nearest_neighbors')

# Print the exploded DataFrame
print(df)
Copier après la connexion

Sortie :

                    nearest_neighbors
name       opponent                  
A.J. Price 76ers          Zach LaVine
           76ers           Jeremy Lin
           76ers        Nate Robinson
           76ers                Isaia
           blazers        Zach LaVine
           blazers         Jeremy Lin
           blazers      Nate Robinson
           blazers              Isaia
           bobcats        Zach LaVine
           bobcats         Jeremy Lin
           bobcats      Nate Robinson
           bobcats              Isaia
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal