将 Pandas DataFrame 中的单元格拆分为多行
处理 pandas DataFrame 中的逗号分隔值时,可以将它们转换为自己的行有必要进行进一步分析。以下是如何实现这一点:
对于 Pandas >= 0.25:
此方法简化了过程:
<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>
对于Pandas
对于早期的 Pandas 版本,需要采用不同的方法:
<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>
详细信息:
两者方法涉及以下几个步骤:
以上是如何将 Pandas DataFrame 中的逗号分隔值拆分为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!