Python Pandas实战:DataFrame列拆分与行扩展技巧

花开有时
花开有时
发布时间:2026-10-13| 2人浏览过
原创

本文详解在Python Pandas中如何处理DataFrame的结构变换。重点讲解如何利用lambda函数将包含分隔符的单列拆分为多列,以及通过stack轴变换和join操作实现一行数据根据分隔符扩展为多行。内容涵盖两种常用拆分策略及其适用场景,帮助开发者高效完成数据预处理任务。

摘要

引言:DataFrame结构变换需求

在数据分析流程中,经常遇到需要将DataFrame的某一列拆分为多列,或依据特定列的值将单行数据展开为多行的需求。本文旨在详细阐述实现这两个目标的具体方法。

数据读取与列拆分基础

1. 读取数据

2. 将City列按‘|'分隔符拆分为多列

此处利用匿名函数lambda,将City列的内容拆分为两个独立的列。


单行拆多行的两种实现方案

3. 将DataFrame单行按‘|'分隔符拆分为多行

方法一:基于前一步生成的DataFrame进行操作。如图所示,我们可以清晰地看到DataFrame已按照City列的内容被拆分为多行。该过程主要涉及先将DataFrame拆分为多列,再拆分为多个DataFrame,最后使用concat函数进行组合。然而,若City列中的元素切割数量不一致,这种方法可能会变得复杂。因此,推荐使用更具通用性的方法二。

方法二:核心思路是首先对DataFrame中需要拆分的列进行拆分,接着利用stack()函数进行轴变换,最后通过索引进行join操作,具体步骤如下所示。

方法二详细步骤:轴变换与合并

首先,将之前得到的df还原为原始数据形式:


接下来,提取City列,将其拆分为多列后进行轴转换,重新设置索引,并将新列命名为Company。


最后,从原df中删除Country列,并将处理后的DataFrame(df1)与原df使用join方法合并,从而得到最终结果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。