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

如何基于isPeriod为True对应的quadId值过滤Pandas DataFrame

实现方法

你可以按两步完成需求:

  • 提取所有isPeriod为True的行对应的quadId值,你已说明所有符合条件的行quadId完全一致,直接取第一条结果即可
  • 用拿到的目标quadId值过滤整个DataFrame

完整代码如下:

import pandas as pd

# 构造原始DataFrame
data = {'retailer': [2, 2, 2, 2, 2, 5, 5, 5, 5, 5],
        'store': [1, 1, 1, 1, 1, 7, 7, 7, 7, 7],
        'week':[2021110701, 2021101301, 2021100601, 2021092901, 2021092201, 2021110701, 2021101301, 2021100601, 2021092901, 2021092201],
        'isPeriod': [False, True, False, False, False, False, False, True, False, False],
        'quadId': [2021112804, 2021103104, 2021103104, 2021103104, 2021103104, 2021100304, 2021100304, 2021103104, 2021103104, 2021103104]
       }
df = pd.DataFrame(data)

# 步骤1:获取目标quadId
target_quad_id = df.loc[df['isPeriod'] == True, 'quadId'].iloc[0]

# 步骤2:过滤全表得到结果
filtered_df = df[df['quadId'] == target_quad_id]

# 验证结果
print(filtered_df)

运行上述代码得到的filtered_df和你给出的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:05