在 Pandas 中删除重复的列

Preet Sanghavi 2023年1月30日
  1. 在 Pandas 中删除重复的列
  2. 使用 drop_duplicates() 函数删除 Pandas 中的重复列
在 Pandas 中删除重复的列

本教程探讨了从 Pandas DataFrame 中删除重复列的概念。

在 Pandas 中删除重复的列

在本教程中,让我们了解如何以及为什么在 Pandas DataFrame 中删除相同或相似的列。大多数企业和组织都需要消除这些重复的列,因为它们可能对从中收集见解并不重要。

此外,当我们需要向数据库添加一些其他数据时,它们会使数据库变得混乱并在存储空间中产生问题。最后,重复的列也可能会影响某些统计或机器学习模型,因为数据可能会出现偏差,并会导致模型准确性非常低。

让我们看看如何在行动中完成此操作。

但是,在开始之前,我们会创建一个虚拟 DataFrame 来使用。在这里,我们创建了两个 DataFrame,即 dat1dat2,以及一些条目。

import pandas as pd

dat1 = pd.DataFrame({"dat1": [9, 5]})

上面的代码创建了一个 DataFrame 和一些条目,即 95。要查看数据中的条目,我们使用以下代码。

print(dat1)

上面的代码给出了以下输出。

   dat1
0     9
1     5

如图所示,我们有 2 列和 2 行,其中一列表示索引,第二列表示 DataFrame 中的值。现在,让我们使用以下代码创建另一个名为 dat2 的 DataFrame。

dat2 = pd.DataFrame({"dat2": [9, 5]})

正如我们对 dat1 所做的那样,我们可以使用以下代码可视化这个 dat2DataFrame。

print(dat2)

该代码给出了以下 DataFrame。

   dat2
0     9
1     5

正如我们对 dat1 所做的那样,我们有 2 行和 2 列,其中一个表示索引,第二个表示 DataFrame 中的值。

现在,让我们将 dat2 DataFrame 的列合并到 dat1DataFrame。我们可以使用下面的代码来做到这一点。

val = pd.concat([dat1, dat2], axis=1)

如图所示,我们在 Pandas 中使用了 concat 函数。此函数使用作为数组传递的单个参数将多个 DataFrame 合并或连接成一个,并合并所有 DataFrame。

我们还需要指定添加 DataFrame 的轴,以根据列或行来更改 DataFrame。

从代码中可以明显看出,我们使用值为 1axis 参数。它可以帮助将列添加到第一个参数中分配的数组的 DataFrame 中。

代码的输出如下。

   dat1  dat2
0     9     9
1     5     5

如图所示,DataFrame dat1 已被更改,因此在第一轴上添加了一个附加列。

同样,此输出使用 print(val) 代码进行可视化。我们有一个 DataFrame,其中包含名为 dat1dat2 的两列具有相同的值。

特别是,我们使用 Pandas 中的 join 函数在 dat1 DataFrame 中添加了一个新行。

使用 drop_duplicates() 函数删除 Pandas 中的重复列

现在让我们从 DataFrame 中消除重复的列。我们可以使用以下代码执行此操作。

print(val.reset_index().T.drop_duplicates().T)

这有助于我们轻松地重置索引并从 DataFrame 中删除重复的列。代码的输出如下。

	index	dat1
0	0		9
1	1		5

如图所示,我们已经成功地从我们的 DataFrame 中消除了名为 dat2 的重复列。同样重要的是要注意,我们已经为 val DataFrame 重置了索引,这可能有助于分析师重新配置他们的数据点并收集更好的见解。

因此,我们使用 concat 函数和 drop_duplicates() 函数消除了 DataFrame 中可能存在的任何重复列。

为了更好地理解这个概念,你可以了解以下主题。

  1. Pandas 中的 Concat 函数。
  2. Pandas 中的 Drop Duplicates 函数。
作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - Pandas Column