📜  列中重复值的布尔值 (1)

📅  最后修改于: 2023-12-03 15:22:38.895000             🧑  作者: Mango

列中重复值的布尔值

在数据分析和处理中,经常会遇到需要判断一列中是否存在重复值的情况。而针对这种情况,可以使用 Pandas 的 duplicated 方法来获取列中每个元素是否为重复值的布尔值。

1. 语法
DataFrame.duplicated(subset=None, keep='first')
  • subset:可选参数,用于指定在哪些列中查找重复值。默认值为 None,则在整个 DataFrame 中查找重复值。
  • keep:可选参数,表示保留哪个重复值。可选值为 firstlastFalse,默认为 first。其中,first 表示保留第一个出现的重复值,last 表示保留最后一个出现的重复值,False 表示保留所有的重复值。
2. 示例

假设我们有如下 DataFrame:

| | Name | Age | Gender | |---:|:--------|----:|:-------| | 0 | Alice | 25 | F | | 1 | Bob | 30 | M | | 2 | Charlie | 25 | M | | 3 | Alice | 25 | F | | 4 | David | 20 | M |

我们可以使用 duplicated 方法来查找 Name 列中是否有重复值:

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'David'],
    'Age': [25, 30, 25, 25, 20],
    'Gender': ['F', 'M', 'M', 'F', 'M']
})

df['Name'].duplicated()

输出结果为:

0    False
1    False
2    False
3     True
4    False
Name: Name, dtype: bool

可以看到,输出结果是一个布尔型的 Series,表示每个元素是否为重复值。其中,第 3 个元素为重复值。

如果我们想要查找整个 DataFrame 中的重复值,可以直接使用 duplicated 方法:

df.duplicated()

输出结果为:

0    False
1    False
2    False
3     True
4    False
dtype: bool
3. 参考链接