如何在 Pandas DataFrame 中将逗号分隔的单元格拆分为多行?
将 Pandas 数据框中的单元格拆分为多行
Pandas 提供了全面的数据操作工具,包括拆分包含多个逗号分隔值的单元格的功能分成多行。在本指南中,我们将根据 pandas 的版本探索使用两种不同方法来实现此目的。
pandas >= 0.25
对于 pandas 0.25 及更高版本,您可以使用组合apply、str.split 和 Series.explode 来实现所需的结果。代码片段如下:
<code class="python">(df.set_index(['order_id', 'order_date']) .apply(lambda x: x.str.split(',').explode()) .reset_index()) </code>
说明:
- set_index(['order_id', 'order_date']): 设置 order_id 和 order_date 列作为在后续操作中保留它们的索引。
- apply(lambda x: x.str.split(',').explode()):对每一行应用 lambda 函数。它将逗号分隔符上的单元格值(package 和 package_code)拆分,并将结果列表分解为多行。
- reset_index():重置索引以创建一个新的 DataFrame,并将分解的值作为单独的行。
pandas
对于 pandas 0.24 及以下版本,需要更复杂的方法,涉及 stack、unstack 和 str.split:
<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>
说明:
- 与之前的方法类似,set_index 将 order_date 和 order_id 设置为索引。
- stack() 折叠行并将它们堆叠为一个单列。
- str.split(',', Expand=True) 根据逗号分隔符将组合值拆分为多列。
- stack() 将列堆叠起来以创建单个列再次列。
- unstack(-2) 在倒数第二个级别取消堆叠 DataFrame 以创建包含拆分值的行。
- reset_index(-1, drop=True) 删除额外的级别
- reset_index() 添加一个新索引来创建一个新的 DataFrame。
两种方法都会返回一个新的 DataFrame,其中分解的值作为单独的行,如下所示您提供的所需输出。
以上是如何在 Pandas DataFrame 中将逗号分隔的单元格拆分为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

本文讨论了诸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和请求等流行的Python库,并详细介绍了它们在科学计算,数据分析,可视化,机器学习,网络开发和H中的用途

在Python中,如何通过字符串动态创建对象并调用其方法?这是一个常见的编程需求,尤其在需要根据配置或运行...
