Diviser les chaînes de trames de données Pandas séparées par des virgules en lignes séparées
Dans les trames de données Pandas, il est souvent constaté qu'une ou plusieurs colonnes contiennent des virgules. valeurs séparées (CSV) qui doivent être divisées en lignes individuelles. Pour y parvenir, plusieurs approches peuvent être employées :
Utilisation de Series.explode() ou DataFrame.explode() :
Cette méthode est disponible dans Pandas 0.25.0 et supérieur et est spécialement conçu pour exploser des colonnes de type liste.
df.explode('column_name')
Utilisation d'un fichier vectoriel Fonction :
Pour les situations impliquant plusieurs colonnes normales et plusieurs colonnes de liste, une fonction vectorisée peut fournir une solution plus polyvalente.
def explode(df, lst_cols, fill_value='', preserve_index=False): # ... (implementation details)
Conversion de chaînes CSV en listes:
Si l'objectif est uniquement de convertir des chaînes CSV en listes, cela peut être réalisé en divisant les chaînes à l'aide de str.split().
df['var1'] = df['var1'].str.split(',')
Approche vectorisée personnalisée :
Cette approche peut gérer plusieurs colonnes, y compris les colonnes normales et de liste.
exploded_df = pd.DataFrame({ col: np.repeat(x[col].values, x[lst_col].str.len()) for col in x.columns.difference([lst_col]) }).assign(**{lst_col: np.concatenate(x[lst_col].values)})[x.columns.tolist()]
Solution héritée :
Une méthode antérieure consiste à utiliser .set_index(), .str.split(), .stack() et .reset_index() pour diviser les chaînes CSV et les empiler en lignes individuelles.
Ces approches offrent diverses options pour diviser les chaînes CSV séparées par des virgules. chaînes dans les dataframes Pandas, répondant à des exigences spécifiques et à des considérations de performances.
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!