Maison >développement back-end >Tutoriel Python >Voici quelques titres de style question basés sur les informations fournies : Clair et concis : * Comment diviser des valeurs séparées par des virgules en plusieurs lignes dans un DataFrame Pandas ? * Fractionner les colonnes avec Com

Voici quelques titres de style question basés sur les informations fournies : Clair et concis : * Comment diviser des valeurs séparées par des virgules en plusieurs lignes dans un DataFrame Pandas ? * Fractionner les colonnes avec Com

Patricia Arquette
Patricia Arquetteoriginal
2024-11-02 05:53:29528parcourir

Here are some question-style titles based on the information provided:

Clear and Concise:

* How to Split Comma-Separated Values into Multiple Rows in a Pandas DataFrame?
* Splitting Columns with Comma-Separated Lists into Multiple Rows in Pandas
* Trans

Diviser les cellules en plusieurs lignes dans le DataFrame pandas

Question :

Comment puis-je diviser colonnes [package et package_code] séparées par des virgules en plusieurs lignes dans un DataFrame pandas, créant une nouvelle ligne pour chaque package avec ses détails de commande correspondants ?

Réponse :

Méthode 1 : (pandas <= 0,25)

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

Méthode 2 : (pandas <= 0,24)

<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()
)</code>

Détails :

  1. Définissez les colonnes qui ne doivent pas être divisées en tant qu'index.
  2. Utilisez stack() pour aplatir les lignes.
  3. Utilisez str.split() avec expand=True pour diviser les valeurs sur la virgule et les développer en colonnes.
  4. Empilez à nouveau le DataFrame résultant pour aplatir les lignes.
  5. Utilisez unstack(-2 ) pour créer de nouvelles colonnes à partir de l'avant-dernier niveau de l'index.
  6. Utilisez reset_index(-1, drop=True) pour supprimer le dernier niveau superflu de l'index.
  7. Réinitialisez l'index à retournez-le à la commande originale.

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