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 :
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!