python 根据多个字段去重
时间: 2023-09-25 16:15:32 浏览: 49
可以使用pandas库中的drop_duplicates方法,指定多个列名即可去重。例如:
```
import pandas as pd
df = pd.DataFrame({'col1': ['A', 'A', 'B', 'B'], 'col2': ['C', 'D', 'C', 'D'], 'col3': ['E', 'F', 'G', 'H']})
df.drop_duplicates(subset=['col1', 'col2'], keep='first', inplace=True)
print(df)
```
其中,subset参数指定了多个需要去重的列名,keep参数指定了保留哪个重复行('first'表示保留第一个,'last'表示保留最后一个,False表示删除所有重复行),inplace参数表示是否在原数据上修改。
相关问题
python二维数组按字段去重
如果想要按照二维数组中的某个字段进行去重,可以使用Python的内置函数`dict`来实现。具体的做法是,将二维数组变成一个字典,以需要去重的字段作为键,以整个子列表作为值。这样做之后,就可以通过字典的键的唯一性来实现去重。
代码示例:
假设有一个二维数组`arr`,其中包含姓名和年龄两个字段,现在需要按照姓名字段进行去重。
```python
arr = [['Tom', 18], ['Jerry', 20], ['Tom', 19], ['Mike', 22], ['Jerry', 20]]
d = {}
for i in arr:
d[i[0]] = i
arr = list(d.values())
print(arr)
```
输出结果:
```
[['Tom', 18], ['Jerry', 20], ['Mike', 22]]
```
这样就实现了按照姓名字段进行去重。需要注意的是,如果有多个相同的姓名字段,那么只会保留最后一个出现的子列表。
lambda根据某个字段去重
您可以使用lambda表达式和set()函数来根据某个字段去重。假设您有一个包含多个字典的列表,每个字典都有一个字段 "field",您可以按以下步骤去除重复项:
1. 使用lambda表达式创建一个函数,该函数将返回字典中的 "field" 值。
2. 使用set()函数和lambda表达式来创建一个去重后的集合。
下面是一个示例代码:
```python
data = [
{"field": "A", "other_field": 1},
{"field": "B", "other_field": 2},
{"field": "C", "other_field": 3},
{"field": "A", "other_field": 4},
{"field": "B", "other_field": 5}
]
unique_data = list(set(d["field"] for d in data))
print(unique_data)
```
输出结果为:['A', 'B', 'C'],即根据 "field" 字段去除了重复项。
希望这可以帮助到您!如有任何疑问,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)