pandas多列重复项里找唯一不重复的值 代码
时间: 2024-03-19 19:43:36 浏览: 91
可以使用 `pd.DataFrame.duplicated()` 方法来找出重复行,然后再使用 `pd.DataFrame.drop_duplicates()` 方法去除重复行。示例代码如下:
```python
import pandas as pd
# 创建一个包含重复行的 DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 3, 4, 4, 5, 5, 6],
'B': [7, 8, 9, 9, 10, 10, 11, 11, 12],
'C': [13, 14, 15, 15, 16, 16, 17, 17, 18]
})
# 找出重复行
duplicated_rows = df.duplicated()
# 去除重复行,只保留第一次出现的行
unique_df = df[~duplicated_rows]
print(unique_df)
```
输出结果为:
```
A B C
0 1 7 13
1 2 8 14
2 3 9 15
4 4 10 16
6 5 11 17
8 6 12 18
```
其中 `unique_df` 就是包含所有唯一不重复的行的 DataFrame。可以看到,每一列都有唯一不重复的值。如果只需要某些列的唯一不重复的值,可以使用 `pd.DataFrame.drop_duplicates()` 方法指定某些列来去重。例如,如果只需要列 A 和 B 的唯一不重复的值,可以这样写:
```python
unique_values = df[['A', 'B']].drop_duplicates()
print(unique_values)
```
输出结果为:
```
A B
0 1 7
1 2 8
2 3 9
4 4 10
6 5 11
8 6 12
```
其中 `unique_values` 就是包含所有唯一不重复的行的 DataFrame,只包含了列 A 和 B。
阅读全文