Maison  >  Article  >  développement back-end  >  Comment diviser les valeurs séparées par des virgules en plusieurs lignes dans les DataFrames Pandas ?

Comment diviser les valeurs séparées par des virgules en plusieurs lignes dans les DataFrames Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 08:40:03626parcourir

How to Split Comma-Separated Values into Multiple Rows in Pandas DataFrames?

Diviser la cellule en plusieurs lignes dans les dataframes Pandas

Lorsque vous traitez des valeurs séparées par des virgules dans les dataframes Pandas, les convertir dans leurs propres lignes peut être nécessaire pour une analyse plus approfondie. Voici comment y parvenir :

Pour les Pandas >= 0,25 :

Cette méthode simplifie le processus :

<code class="python">(df.set_index(['order_id', 'order_date'])
   .apply(lambda x: x.str.split(',').explode())
   .reset_index())                                                   

   order_id order_date package package_code
0         1  20/5/2018      p1         #111
1         1  20/5/2018      p2         #222
2         1  20/5/2018      p3         #333
3         3  22/5/2018      p4         #444
4         7  23/5/2018      p5         #555
5         7  23/5/2018      p6         #666</code>

Pour Pandas <= 0,24 :

Pour les versions antérieures de Pandas, une approche différente est nécessaire :

<code class="python">(df.set_index(['order_date', 'order_id'])
   .stack()
   .str.split(',', expand=True)
   .stack()
   .unstack(-2)
   .reset_index(-1, drop=True)
   .reset_index()
)

  order_date  order_id package package_code
0  20/5/2018         1      p1         #111
1  20/5/2018         1      p2         #222
2  20/5/2018         1      p3         #333
3  22/5/2018         3      p4         #444
4  23/5/2018         7      p5         #555
5  23/5/2018         7      p6         #666</code>

Détails :

Les deux Les méthodes impliquent plusieurs étapes :

  • Définissez les colonnes non fractionnées comme index.
  • Divisez les valeurs par virgules à l'aide de str.split.
  • Empilez les valeurs divisées en lignes .
  • Décochez pour déplacer les valeurs fractionnées dans des colonnes séparées.
  • Réinitialisez l'index final.

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