首页 文章资讯内容详情

我们如何使用 Python Pandas 库检测重复标签?

2026-06-02 1 花语

Pandas用于处理大型数据集,因为大型数据表的列和行都用一些名称进行索引,这些名称称为标签。当我们处理数据集时,数据集中可能存在一些重复的标签。

重复可能导致对我们的数据做出错误的结论,它可能会影响我们想要的输出。这里我们谈论的是标签重复,只不过是重复了1次以上的行和列索引名称。

让我们举一个例子来识别DataFrame中的重复标签。

识别列标签中的重复项

示例

df1 = pd.DataFrame([[6, 1, 2, 7], [8, 4, 5,9]], columns=["A", "A", "B","C"]) print(df1) print(df1.columns.is_unique)

解释

创建了一个2X4形状的DataFrame。为了验证列中是否存在任何重复的标签,这里我们使用DataFrame.columns.is_unique。这将根据重复项的存在返回一个布尔数据,True或False。

输出结果

A A B C 0 6 1 2 7 1 8 4 5 9 False

此输出块表示DataFramedf,布尔值False表示DataFramedf的列中存在重复标签。

通过使用duplicated方法,我们还可以在DataFrame中获取重复的标签。下面块。

df1.columns[~df1.columns.duplicated()]

df1.columns仅将列名作为数组,该duplicated()方法为您提供一个表示重复项的布尔值数组。通过使用上面的代码,我们可以获得一个唯一的列标签列表。

Index([A, B, C], dtype=object)

识别索引标签中的重复项

与上述识别列标签中重复项的过程相同,我们也可以识别索引(行)中的重复项。

示例

f = pd.DataFrame({"A": [0, 1, 2, 3, 4]}, index=["x", "y", "x", "y","z"]) print(f) print() print(f.index.duplicated()) #gettingbooleanstring unique_f = f[~f.index.duplicated()] #filteringduplicates print() print(unique_f) # removed duplicated data

解释

DataFrame“f”是在索引中使用一些重复数据创建的。我们可以使用f来识别重复项。它将返回一个代表重复索引的布尔值列表。通过使用这种重复的方法,我们可以从DataFrame中删除重复的标签。index.duplicated()

输出结果

A x 0 y 1 x 2 y 3 z 4 [False False True True False] A x 0 y 1 z 4

第一个块是具有重复值的DataFrame“f”,布尔值数组表示重复。最后一个块代表来自我们的DataFrame“f”的唯一索引标签。