首页 >后端开发 >Python教程 >以下是一些基于所提供信息的问题式标题: 清晰简洁: * 如何将 Pandas DataFrame 中的逗号分隔值拆分为多行? * 使用 Com 拆分列

以下是一些基于所提供信息的问题式标题: 清晰简洁: * 如何将 Pandas DataFrame 中的逗号分隔值拆分为多行? * 使用 Com 拆分列

Patricia Arquette
Patricia Arquette原创
2024-11-02 05:53:29528浏览

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

将 pandas DataFrame 中的单元格拆分为多行

问题:

如何拆分将逗号分隔的 [package 和 package_code] 列分成 pandas DataFrame 中的多行,为每个包创建一个新行及其相应的订单详细信息?

答案:

方法一:(pandas >= 0.25)

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

方法二:(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()
)</code>

详细信息:

  1. 设置不应该拆分的列作为索引。
  2. 使用 stack() 压平行。
  3. 使用带有 Expand=True 的 str.split() 来分割逗号上的值并将它们展开为列。
  4. 再次堆叠生成的 DataFrame 以展平行。
  5. 使用 unstack(-2 ) 从索引的倒数第二级创建新列。
  6. 使用reset_index(-1, drop=True) 删除索引的多余最后一级。
  7. 将索引重置为将其恢复到原来的顺序。

以上是以下是一些基于所提供信息的问题式标题: 清晰简洁: * 如何将 Pandas DataFrame 中的逗号分隔值拆分为多行? * 使用 Com 拆分列的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn