You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数据集重复项剔除与指定国家筛选需求

问题描述

我有如下数据集:

IDCountryCount
1Austria3
1Austria3
1Austria3
1Belgium3
1Belgium3
1Belgium3
2Croatia5
2Croatia5
2Germany5
2US5
2US5

想要得到的结果:

IDCountryCount
1Austria3
1Belgium3
2Croatia5
2Germany5

核心需求:

  • 只保留Austria、Belgium、Croatia、Germany,剔除US
  • 按ID分组,每个ID下的同Country记录只留一条

常用工具实现方案

Python Pandas

先筛选允许的国家,再按ID+Country去重:

import pandas as pd

# 构造原始数据(实际场景可替换为pd.read_csv等读取方式)
df = pd.DataFrame({
    'ID': [1,1,1,1,1,1,2,2,2,2,2],
    'Country': ['Austria','Austria','Austria','Belgium','Belgium','Belgium','Croatia','Croatia','Germany','US','US'],
    'Count': [3,3,3,3,3,3,5,5,5,5,5]
})

# 筛选指定国家
allowed_countries = {'Austria', 'Belgium', 'Croatia', 'Germany'}
df_filtered = df[df['Country'].isin(allowed_countries)]

# 按ID和Country去重,保留第一条记录
df_result = df_filtered.drop_duplicates(subset=['ID', 'Country'], keep='first')

print(df_result)

SQL

假设表名为your_table,用DISTINCT直接去重+筛选:

SELECT DISTINCT ID, Country, Count
FROM your_table
WHERE Country IN ('Austria', 'Belgium', 'Croatia', 'Germany')
ORDER BY ID, Country;

如果同一ID+Country的Count值固定,也可以用GROUP BY:

SELECT ID, Country, Count
FROM your_table
WHERE Country IN ('Austria', 'Belgium', 'Croatia', 'Germany')
GROUP BY ID, Country, Count
ORDER BY ID, Country;

Excel手动操作

  1. 筛选国家:选中Country列,点击「数据」选项卡的「筛选」,只勾选目标国家
  2. 删除重复值:选中整个数据区域,点击「数据」-「删除重复值」,勾选「ID」和「Country」作为重复判断依据,确认即可

内容的提问来源于stack exchange,提问作者wilbertosilva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:57:24