Pandas offre des outils complets pour la manipulation des données, y compris la possibilité de diviser une cellule contenant plusieurs valeurs séparées par des virgules. en plusieurs lignes. Dans ce guide, nous explorerons les méthodes pour y parvenir en utilisant deux approches différentes basées sur la version de pandas.
Pour les versions de pandas 0.25 et supérieures, vous pouvez utiliser une combinaison de apply, str.split et Series.explode pour obtenir le résultat souhaité. Voici l'extrait de code :
<code class="python">(df.set_index(['order_id', 'order_date']) .apply(lambda x: x.str.split(',').explode()) .reset_index()) </code>
Explication :
Pour les versions pandas 0.24 et inférieures, une approche plus complexe impliquant stack, unstack et str.split 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() )</code>
Explication :
Les deux méthodes renverront un nouveau DataFrame avec les valeurs éclatées sous forme de lignes séparées, comme illustré dans le résultat souhaité que vous avez fourni.
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!