Pandas - 从整个 DataFrame 中删除空格

2024 年 11 月 29 日 | 阅读时间:4 分钟

Pandas 是一个有效的 Python 工具包,用于记录操作,通常用于涉及数据评估和操作的作业。它提供了多种功能和方法来有效地清理和准备数据。在 DataFrame 中,从字符串中删除前导和尾随空格是典型的统计清理活动。本教程探讨了使用 Pandas 并学习如何清理所有空格的 DataFrame。

理解问题

在开始解决方案之前,让我们首先理解为什么从 DataFrame 中的字符串中删除空格至关重要。真实世界数据集的文本内容统计数据可能更准确和值得信赖,尤其是在从许多来源组装时。一个常见的问题是字符串中存在前导或尾随空格。这些问题可能导致记录分析、比较和可视化错误。

考虑一个 DataFrame,其中包含一个包含产品名称的列

您可以看到,上述示例中的几个产品名称都有前导和尾随空格。从您的研究中删除这些附加空格将有助于确保一致性和准确性。

使用 Pandas 删除空格

使用 Pandas 轻松地从 DataFrame 中的字符串中删除前导和尾随空格。可以使用 str.strip() 方法,该方法既可用于单个列,也可用于整个 DataFrame。

您可以使用 str.strip() 方法和列名从特定列中删除空格。以下是如何操作

运行此代码后,'产品名称' 列将没有前导和尾随空格。DataFrame 将如下所示

使用 Strip() 函数

输入

输出

Pandas - Strip whitespace from the Entire DataFrame

输入

输出

Pandas - Strip whitespace from the Entire DataFrame

Replace 函数的用法

我们还可以使用 replace() 函数从数据框中删除多余的空格。 Pandas 具有预定义的 "pandas.Series.str.replace()" 方法来删除空格。它与使用 strip() 方法创建的程序的唯一区别在于,现在将使用 replace() 代替 strip()。

输入

输出

Pandas - Strip whitespace from the Entire DataFrame

从整个 DataFrame 中删除多余的空格

输入

输出

Pandas - Strip whitespace from the Entire DataFrame

代码示例的第一行导入相关库,并使用 pandas 读写数据并执行许多其他操作。接下来,使用 pandas 形成一个具有四列的 DataFrame - 姓名、年龄、血型和性别。几乎所有列中的数据都是不稳定的。重要部分现在开始;我们开发了一个函数,该函数将修剪数据中多余的前导和后续空格。此方法将数据框作为输入,并检查每一列的数据类型。如果列的数据类型是“Object”,则将预定义的 strip 函数从 pandas 的库应用于该列;否则,什么都不做。然后,在下一行中,我们使用 whitespace_remover() 方法正确地从数据框中删除不必要的空格。