首页 >后端开发 >Python教程 >如何删除 Pandas 中多列的重复行?

如何删除 Pandas 中多列的重复行?

DDD
DDD原创
2024-12-19 10:24:15374浏览

How to Remove Duplicate Rows Across Multiple Columns in Pandas?

在 Python Pandas 中删除多列中的重复项

Pandas 中的 drop_duplicates 函数提供了一种基于指定列删除重复行的便捷方法。但是,如果您不想删除单个列中的重复项,而是删除多个列的子集,该怎么办?

为了实现这一点,我们可以利用 drop_duplicates 的强大功能以及子集参数。通过指定要检查重复项的列列表,您可以确保消除与这些列的任意组合匹配的行。

考虑以下示例:

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

我们的目标是删除在 A 列和 C 列上匹配的行。这将删除第 0 行和第 1 行,因为它们在两列中具有相同的值。

使用drop_duplicates,我们可以使用以下代码来完成此操作:

import pandas as pd

df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

subset 参数指定用于重复检测的列。 keep 参数设置为 False,可确保删除所有重复行。

生成的 DataFrame 将如下所示:

    A   B   C
0   foo 0   A
2   foo 1   B
3   bar 1   A

行 0 和 1 已被删除,因为它们匹配A 和 C,根据这些列有效地唯一化 DataFrame。

以上是如何删除 Pandas 中多列的重复行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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