在 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中文网其他相关文章!