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

Pandas如何筛选满足多条件且Alumni_employment值重复的记录

问题分析

原有双重循环写法存在逻辑缺陷:

  • 遍历对象是全量原始数据的alumni_employment列,而非已经筛选好的美国2015年Top500高校子集
  • 只要匹配到相等值就打印全量子集的高校名称,会产生大量无效重复输出,完全不符合需求

解决方案

直接使用Pandas内置的duplicated方法即可高效实现筛选逻辑,keep=False参数会将所有重复值对应的行全部标记为True,刚好匹配“只要值重复就保留所有对应行”的需求。

import pandas as pd
import numpy as np

# 读取数据
data = pd.read_csv("data/cwurData.csv")

# 第一步:筛选满足【2015年、美国、世界排名≤500】的高校子集
americanuniv = data[(data['country'] == 'USA') & (data['year'] == 2015) & (data['world_rank'] <= 500)].copy()

# 第二步:筛选alumni_employment列存在重复的行
result = americanuniv[americanuniv['alumni_employment'].duplicated(keep=False)]

# 输出符合要求的高校名称
print(result['institution'])

可选扩展

如果需要查看每个重复的校友就业值对应哪些高校,可增加分组统计逻辑:

# 按alumni_employment分组,输出重复值对应的高校列表
duplicate_groups = result.groupby('alumni_employment')['institution'].apply(list)
print(duplicate_groups)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:36:03