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

如何在DataFrame中按组筛选仅掌握日语的人员记录

实现思路

按用户名分组后同时校验两个条件:

  1. 该用户掌握的唯一语言数量为1
  2. 该用户掌握的唯一语言是日语
    筛选出符合条件的用户后匹配原表记录即可。

完整代码示例

方法1:transform 简洁写法(一行完成筛选)

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'Name': ['Tom', 'Rose', 'Jack', 'Jack', 'Mike', 'Mike'],
    'Language': ['Japanese', 'Japanese', 'Chinese', 'Japanese', 'Japanese', 'French']
})

# 核心筛选逻辑
result = df[(df.groupby('Name')['Language'].transform('nunique') == 1) & (df['Language'] == 'Japanese')]

# 打印结果
print(result)

方法2:groupby.filter 直观写法

result = df.groupby('Name').filter(lambda x: x['Language'].nunique() == 1 and x['Language'].eq('Japanese').all())

输出结果

Name  Language
0   Tom  Japanese
1  Rose  Japanese

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:27:02