"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je diviser les chaînes séparées par des virgules dans un Pandas DataFrame en lignes distinctes?

Comment puis-je diviser les chaînes séparées par des virgules dans un Pandas DataFrame en lignes distinctes?

Publié le 2025-03-25
Parcourir:405

How Can I Split Comma-Separated Strings in a Pandas DataFrame into Separate Rows?

Splipting des chaînes de données de données de pandas séparées en virgule en lignes distinctes

Dans les données de données pandas, il faut souvent être divisé en raies individuelles. Pour y parvenir, plusieurs approches peuvent être utilisées:

Utilisation de série.Explode () ou DataFrame.Explode () :

Cette méthode est disponible dans Pandas 0.25.0 et ci-dessus et est spécifique colonnes.

df.explode('column_name')

en utilisant une fonction vectorisée :

pour des situations contenant plusieurs colonnes normales et multiples, une fonction vectorisée peut fournir une solution plus polyvalente. lst_cols, fill_value = '', préserve_index = false): # ... (les détails d'implémentation)

def explode(df, lst_cols, fill_value='', preserve_index=False):
    # ... (implementation details)
Convertir des chaînes CSV en listes

: Si le but est uniquement pour convertir les chaînes CSV en listes, cela peut être réalisé en divisant les chaînes en utilisant Str.Split (). df ['var1']. str.split (',')

approche vectorisée personnalisée
df['var1'] = df['var1'].str.split(',')

Cette approche peut gérer plusieurs colonnes, y compris les colonnes normales et listes. col: np.repeat (x [col] .values, x [lst_col] .str.len ()) pour Col dans X.Column.Différence ([LST_COL]) }). attribution (** {lst_col: np.concatenate (x [lst_col] .values)}) [x.columns.tolist ()]

solution héritée

:

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()]

Ces approches offrent diverses options pour diviser les chaînes séparées par les virgules dans les pandas DataFrames, s'adressant à des exigences spécifiques et des considérations de performances.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3