python利用groupby去重
时间: 2023-08-28 16:04:51 浏览: 96
利用groupby函数可以对数据进行分组,然后对每一组进行聚合操作。如果想要去重,可以先根据去重的列进行分组,然后对其他列进行聚合操作,最后把结果合并起来。
例如,假设有一个数据集如下:
```
import pandas as pd
data = {
'id': [1, 1, 2, 2, 3],
'name': ['A', 'B', 'C', 'D', 'E'],
'value': [10, 20, 30, 40, 50]
}
df = pd.DataFrame(data)
print(df)
```
输出如下:
```
id name value
0 1 A 10
1 1 B 20
2 2 C 30
3 2 D 40
4 3 E 50
```
现在想要根据id列去重,可以使用groupby函数进行分组,然后对其他列进行聚合操作,比如取平均值。代码如下:
```
df_grouped = df.groupby('id').mean().reset_index()
print(df_grouped)
```
输出如下:
```
id value
0 1 15.0
1 2 35.0
2 3 50.0
```
可以看到,根据id列进行了分组,然后对value列进行了平均值聚合操作,最后得到了去重后的结果。需要注意的是,使用groupby函数进行分组时,需要调用reset_index函数将分组后的结果重新设置索引,否则会得到一个多层级的索引结果。
阅读全文