如何使用Pandas 的 drop_duplicates() 方法去重
时间: 2023-09-21 19:08:21 浏览: 148
Pandas 的 `drop_duplicates()` 方法可以用来去除 DataFrame 中的重复行。使用该方法,你可以指定按照哪些列进行去重,以及保留哪些行。
例如,如果你的 DataFrame 叫做 `df`,你可以按照 `账号` 列去重,保留第一个出现的行,代码如下:
```
df.drop_duplicates(subset='账号', keep='first', inplace=True)
```
其中,`subset` 参数指定了按照哪些列进行去重,可以是单个列名或多个列名的列表;`keep` 参数指定了保留哪些行,可以是 `first`(保留第一个出现的行)、`last`(保留最后一个出现的行)或 `False`(删除所有重复行);`inplace` 参数指定了是否在原 DataFrame 上进行修改,如果设置为 `True`,则会在原 DataFrame 上进行修改,否则会返回一个新的 DataFrame。
注意,`drop_duplicates()` 方法默认会保留第一个出现的行,如果需要保留最后一个出现的行,可以将 `keep` 参数设置为 `last`。如果需要保留所有重复行,可以将 `keep` 参数设置为 `False`。
相关问题
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
```
可以看到,重复的行已经被去掉了。
drop_duplicates 去重
您好!对于去除重复值,您可以使用 pandas 库中的 drop_duplicates() 函数。这个函数可以对 DataFrame 或者 Series 进行操作,删除其中的重复行。
以下是一个示例代码:
```python
import pandas as pd
# 创建一个包含重复值的 DataFrame
data = {'col1': [1, 2, 2, 3, 4, 4, 5],
'col2': ['a', 'b', 'b', 'c', 'd', 'd', 'e']}
df = pd.DataFrame(data)
# 使用 drop_duplicates() 去除重复行
df_drop_duplicates = df.drop_duplicates()
print(df_drop_duplicates)
```
输出结果会去除重复的行,得到如下结果:
```
col1 col2
0 1 a
1 2 b
3 3 c
4 4 d
6 5 e
```
希望这个示例能够帮到您!如果有任何其他问题,请随时提问。
阅读全文