Maison > développement back-end > Tutoriel Python > Comment diviser efficacement une colonne de chaîne dans un DataFrame Pandas en deux nouvelles colonnes ?

Comment diviser efficacement une colonne de chaîne dans un DataFrame Pandas en deux nouvelles colonnes ?

Mary-Kate Olsen
Libérer: 2024-12-24 12:55:14
original
841 Les gens l'ont consulté

How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?

Comment diviser une colonne de chaîne de trame de données en deux colonnes ?

Version TL;DR :

Pour le cas simple d'avoir une colonne de texte avec un délimiteur et voulant créer deux colonnes, la solution la plus simple est :

df[['A', 'B']] = df['AB'].str.split(' ', n=1, expand=True)
Copier après la connexion

En détail :

L'approche d'Andy Hayden démontre efficacement la puissance de la méthode str.extract() . Cependant, pour un simple fractionnement sur un séparateur connu, la méthode .str.split() est suffisante. Il opère sur une colonne (Série) de chaînes et renvoie une colonne (Série) de listes.

L'attribut .str d'une colonne nous permet de traiter chaque élément d'une colonne comme une chaîne et d'appliquer des méthodes efficacement. Il dispose d'une interface d'indexation pour obtenir chaque élément d'une chaîne par son index, nous permettant de découper et de découper les listes renvoyées par .str.split().

Le déballage de tuple Python peut être utilisé pour créer deux colonnes distinctes à partir de la liste en utilisant :

df['A'], df['B'] = df['AB'].str.split('-', n=1).str
Copier après la connexion

Alternativement, on peut utiliser le paramètre expand=True dans .str.split() pour générer directement deux colonnes :

df[['A', 'B']] = df['AB'].str.split('-', n=1, expand=True)
Copier après la connexion

La version expand=True est avantageuse lorsqu'il s'agit de fractionnements de différentes longueurs, car elle gère de tels cas en insérant des valeurs Aucune dans les colonnes avec des « fractionnements » manquants.

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