优草派  >   Python

pandas筛选重复数据

周雨            来源:优草派

在进行数据分析和处理时,我们常常需要筛选重复数据。Pandas是一种数据分析工具,它提供了多种方法来筛选重复数据。本文将从多个角度分析Pandas筛选重复数据的方法。

1. 使用drop_duplicates()方法

pandas筛选重复数据

Pandas提供了drop_duplicates()方法来去除重复数据。该方法可以用于Series和DataFrame对象。下面是使用drop_duplicates()方法去除DataFrame中的重复数据的示例代码:

```python

import pandas as pd

# 创建DataFrame对象

df = pd.DataFrame({'A': [1, 1, 2, 3], 'B': [4, 4, 5, 6]})

# 输出原始数据

print('原始数据:\n', df)

# 去除重复数据

df = df.drop_duplicates()

# 输出去重后的数据

print('去重后的数据:\n', df)

```

运行结果:

```

原始数据:

A B

0 1 4

1 1 4

2 2 5

3 3 6

去重后的数据:

A B

0 1 4

2 2 5

3 3 6

```

从输出结果可以看出,原始数据中有重复的数据,去重后的数据中每行数据都是唯一的。

2. 使用duplicated()方法

除了使用drop_duplicates()方法去除重复数据外,还可以使用duplicated()方法来判断数据是否重复。该方法返回一个布尔值的Series,表示每行数据是否重复。下面是使用duplicated()方法判断DataFrame中的数据是否重复的示例代码:

```python

import pandas as pd

# 创建DataFrame对象

df = pd.DataFrame({'A': [1, 1, 2, 3], 'B': [4, 4, 5, 6]})

# 输出原始数据

print('原始数据:\n', df)

# 判断数据是否重复

duplicate = df.duplicated()

# 输出判断结果

print('数据是否重复:\n', duplicate)

```

运行结果:

```

原始数据:

A B

0 1 4

1 1 4

2 2 5

3 3 6

数据是否重复:

0 False

1 True

2 False

3 False

dtype: bool

```

从输出结果可以看出,原始数据中第1行和第2行数据是重复的,因此对应的duplicated()方法返回True。

3. 使用drop_duplicates()方法和duplicated()方法的参数

除了使用drop_duplicates()方法和duplicated()方法外,它们还提供了一些参数来控制筛选重复数据的行为。下面是一些常用的参数:

- subset:用于指定列名或列名列表,表示在哪些列中进行去重或判断数据是否重复。

- keep:用于指定保留哪个重复数据。默认为'first',表示保留第一个重复数据;'last'表示保留最后一个重复数据;False表示去除所有重复数据。

- inplace:用于指定是否在原DataFrame对象上进行操作。默认为False,表示创建一个新的DataFrame对象;True表示在原DataFrame对象上进行操作。

下面是使用subset参数和keep参数进行筛选重复数据的示例代码:

```python

import pandas as pd

# 创建DataFrame对象

df = pd.DataFrame({'A': [1, 1, 2, 3], 'B': [4, 4, 5, 6], 'C': [4, 7, 8, 9]})

# 输出原始数据

print('原始数据:\n', df)

# 去除重复数据

df = df.drop_duplicates(subset=['A', 'B'], keep='last')

# 输出去重后的数据

print('去重后的数据:\n', df)

# 判断数据是否重复

duplicate = df.duplicated(subset=['A', 'B'])

# 输出判断结果

print('数据是否重复:\n', duplicate)

```

运行结果:

```

原始数据:

A B C

0 1 4 4

1 1 4 7

2 2 5 8

3 3 6 9

去重后的数据:

A B C

1 1 4 7

2 2 5 8

3 3 6 9

数据是否重复:

1 False

2 False

3 False

dtype: bool

```

从输出结果可以看出,使用subset参数和keep参数去除了重复数据,并且使用subset参数判断了数据是否重复。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行