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
Libérer: 2024-11-02 05:53:29
original
647 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal