Maison  >  Article  >  développement back-end  >  Comment diviser le texte d'une colonne Pandas en plusieurs lignes ?

Comment diviser le texte d'une colonne Pandas en plusieurs lignes ?

DDD
DDDoriginal
2024-11-11 01:02:03727parcourir

How to Split Text in a Pandas Column into Multiple Rows?

Diviser le texte d'une colonne en plusieurs lignes à l'aide de Pandas

Lors de la manipulation de fichiers CSV volumineux, il devient nécessaire de manipuler les données efficacement. Une tâche courante consiste à diviser le texte d’une colonne en plusieurs lignes. Ceci peut être réalisé en utilisant Pandas, une puissante bibliothèque de manipulation de données en Python.

Supposons que nous ayons un fichier CSV avec une colonne nommée « Seatblocks » contenant des valeurs de texte séparées par des espaces et des deux-points. Notre objectif est de diviser chaque valeur de cette colonne en lignes individuelles, en créant de nouvelles colonnes pour chaque partie séparée par deux points.

CustNum  CustomerName     ItemQty  Item   Seatblocks                 ItemExt
32363    McCartney, Paul      3     F04    2:218:10:4,6                   60
31316    Lennon, John        25     F01    1:13:36:1,12 1:13:37:1,13     300

Pour diviser la colonne "Seatblocks" par espace et attribuer à chaque partie une ligne distincte, nous utilisons le code suivant :

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)
s.name = 'Seatblocks'
del df['Seatblocks']
df = df.join(s)

Ce code produit le résultat suivant :

   CustNum     CustomerName  ItemQty Item  ItemExt  Seatblocks
0    32363  McCartney, Paul        3  F04       60  2:218:10:4,6
1    31316     Lennon, John       25  F01      300  1:13:36:1,12
1    31316     Lennon, John       25  F01      300  1:13:37:1,13

Pour diviser chaque chaîne séparée par deux points dans sa propre colonne, nous pouvons utiliser le code suivant :

df.join(s.apply(lambda x: Series(x.split(':'))))

Cela donne ce qui suit :

   CustNum     CustomerName  ItemQty Item  ItemExt  0    1   2     3
0    32363  McCartney, Paul        3  F04       60  2  218  10   4,6
1    31316     Lennon, John       25  F01      300  1   13  36  1,12
1    31316     Lennon, John       25  F01      300  1   13  37  1,13

Ces méthodes fournissent des moyens efficaces pour diviser le texte dans un colonne en plusieurs lignes, permettant une manipulation et une analyse plus approfondies des données.

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!

Déclaration:
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