pandas删除重复的行
时间: 2024-10-19 18:15:33 浏览: 42
Pandas是一个强大的数据处理库,在Python中常用它来进行数据分析。如果你想从DataFrame中删除重复的行,可以使用`drop_duplicates()`函数。这个函数会检查指定的列(默认是所有列),并返回一个新的DataFrame,其中包含了唯一的组合。
基本语法如下:
```python
df.drop_duplicates(inplace=True|False)
```
- `inplace=True`表示在原DataFrame上直接修改,删除重复行;如果不设置或设置为`False`,则返回一个新的不含重复行的DataFrame。
- 如果你想基于特定的列去查找重复,可以在`subset`参数中传入列名列表,例如`df.drop_duplicates(subset=['column1', 'column2'])`。
如果你只想保留每组的第一个重复项,可以添加`keep='first'`:
```python
df.drop_duplicates(keep='first', inplace=True)
```
或者保留最后一个重复项,用`keep='last'`:
```python
df.drop_duplicates(keep='last', inplace=True)
```
相关问题
pandas删除重复行
可以使用pandas的drop_duplicates()方法删除DataFrame中的重复行。
例如,如果我们有一个名为df的DataFrame,它包含重复行,我们可以使用以下代码删除重复行:
```
df.drop_duplicates(inplace=True)
```
该方法将在原DataFrame中删除重复行,并返回一个新的DataFrame。如果我们不想修改原始DataFrame,我们可以将inplace参数设置为False:
```
df_no_duplicates = df.drop_duplicates()
```
pandas删除重复行不保留
如果想要使用Pandas删除重复行,但是不保留任何一个重复的行,可以使用drop_duplicates方法,并将keep参数设置为False。下面是一个例子:
``` python
import pandas as pd
df = pd.DataFrame({'A': [1, 1, 2, 3, 3], 'B': ['a', 'b', 'c', 'd', 'd']})
print(df)
# 删除重复行并不保留任何一个重复的行
df.drop_duplicates(keep=False, inplace=True)
print(df)
```
输出结果为:
```
A B
0 1 a
1 1 b
2 2 c
3 3 d
4 3 d
A B
2 2 c
```
可以看到,最后只保留了一个不重复的行(第2行)。
阅读全文