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)
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
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!