pandas 以三列为主键查询有重复数据的行
时间: 2024-09-18 18:09:44 浏览: 44
在Pandas中,如果你有一个DataFrame并且你想找出其中基于三列(假设为`column1`, `column2`, 和 `column3`)的重复数据行,你可以使用`duplicated()`函数结合`keep=False`参数来获取所有重复的行,然后用`drop_duplicates()`函数来清除这些重复项。这里是一个示例:
```python
import pandas as pd
# 假设df是你的DataFrame
df = ... # 请提供实际的数据或DataFrame实例
# 定义主键列
key_columns = ['column1', 'column2', 'column3']
# 查找所有重复行
duplicate_rows = df.duplicated(key=key_columns, keep=False)
# 找到重复的行索引
repeated_index = df[duplicate_rows].index.tolist()
# 如果你想查看并保留重复的行,可以这样做
repeated_data = df.loc[repeated_index]
# 或者如果你想删除重复的行,只保留唯一值
df.drop_duplicates(subset=key_columns, keep='first', inplace=True)
```
阅读全文