drop_duplicates用法
时间: 2023-05-17 09:03:19 浏览: 90
drop_duplicates是一个pandas库中的函数,用于去除DataFrame中的重复行。它可以根据指定的列或所有列来判断是否为重复行,并将重复的行删除。例如,df.drop_duplicates()将删除DataFrame df中的所有重复行。如果需要根据特定列来判断是否为重复行,可以使用df.drop_duplicates(subset=['column_name'])。
相关问题
drop_duplicates的用法
`drop_duplicates()` 是 pandas 库中的一个函数,用于去除数据框或序列中的重复值。其常用的参数和用法如下:
```python
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
```
- `subset`:指定要去重的列,默认为所有列。
- `keep`:指定保留哪个重复值。可选值为 `'first'`, `'last'`, `False`,默认为 `'first'`。其中 `'first'` 保留第一个重复值,`'last'` 保留最后一个重复值,`False` 则全部删除。
- `inplace`:是否在原数据上进行修改。默认为 `False`,即返回一个新的去重后的数据。如果设置为 `True`,则直接在原数据上进行修改,不返回任何值。
下面是一个示例:
```python
import pandas as pd
# 创建一个数据帧
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 1, 2, 1, 1, 2, 1],
})
# 打印原始数据帧
print(df)
# 去除重复值
df_drop = df.drop_duplicates()
# 打印去重后的数据帧
print(df_drop)
```
输出如下:
```
A B C
0 foo one 1
1 bar one 2
2 foo two 1
3 bar three 2
4 foo two 1
5 bar two 1
6 foo one 2
7 foo three 1
A B C
0 foo one 1
1 bar one 2
2 foo two 1
3 bar three 2
5 bar two 1
6 foo one 2
7 foo three 1
```
在上面的例子中,原始数据帧包含 8 行数据,其中有重复的行。通过 `drop_duplicates()` 函数去除重复行后,得到了一个只有 7 行数据的新数据帧。
pandas drop_duplicates 具体用法
`drop_duplicates()` 是 Pandas 中的一个函数,用于去除 DataFrame 或 Series 中重复的行。
具体用法如下:
```python
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
```
其中,各参数的含义如下:
- `subset`:指定要去重的列,默认为全部列,如果指定了,则只对指定的列进行去重;
- `keep`:指定保留哪个重复的值,可选参数为 `'first'`(保留第一个)、`'last'`(保留最后一个)和 `False`(全部删除),默认为 `'first'`;
- `inplace`:是否在原 DataFrame 中进行修改,默认为 `False`,即返回一个新的 DataFrame;
- `ignore_index`:是否重新设置索引,默认为 `False`,即保留原有的索引。
例如,对如下的 DataFrame 进行去重:
```python
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'Bob'],
'age': [25, 30, 35, 30],
'gender': ['F', 'M', 'M', 'M']
}
df = pd.DataFrame(data)
print(df)
```
输出:
```
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
3 Bob 30 M
```
如果我们想要去掉重复的行,可以使用 `drop_duplicates()` 函数:
```python
df.drop_duplicates(inplace=True)
print(df)
```
输出:
```
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
```
可以看到,重复的行已经被去掉了。
阅读全文