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

Pandas根据另一列条件筛选仅在指定日期出现的名称

Pandas实现指定季度专属名称筛选

实现思路

核心逻辑拆为两步:

  • 先标记所有在非目标季度(本次为Q2 2022)记录中出现过的名称,加入待排除集合
  • 再从目标季度的记录里筛掉待排除集合内的名称,剩余结果就符合要求

完整实现代码

import pandas as pd

# 构造示例数据集
df = pd.DataFrame({
    'Name': ['Name1', 'Name1', 'Name2', 'Name3'],
    'Date': ['Q3 2022', 'Q2 2022', 'Q2 2022', 'Q2 2022']
})

# 定义要筛选的目标季度
target_quarter = 'Q2 2022'

# 提取所有在非目标季度出现过的名称作为排除列表
exclude_names = df.loc[df['Date'] != target_quarter, 'Name'].unique()

# 提取符合要求的名称列表
result_names = df.loc[(df['Date'] == target_quarter) & (~df['Name'].isin(exclude_names)), 'Name'].unique()
print(result_names)  # 输出:['Name2' 'Name3'],和预期结果一致

# 如果需要获取符合条件的完整行记录,直接去掉末尾的.unique()即可
result_rows = df.loc[(df['Date'] == target_quarter) & (~df['Name'].isin(exclude_names))]

补充说明

该写法不需要做分组、聚合操作,执行效率高,适配百万级以上的数据集处理场景。后续如果需要切换筛选的目标季度,仅需要修改target_quarter的取值就可以直接复用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:21:37