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

如何在特定字符串参数下取消Pandas DataFrame过滤逻辑?

解决方案

直接修改get_time函数,加入特殊条件判断即可实现需求:

import pandas as pd

df = pd.read_csv('data.csv', nrows=100000)

def get_time(event_1, event_2):
    # 特殊场景:返回原始数据集
    if event_1 == 'open' and event_2 == 'close':
        return df.copy()
    # 常规场景:按事件筛选
    filtered_df = df[(df['event_name'] == event_1) | (df['event_name'] == event_2)]
    return filtered_df.copy()

# 调用示例
# 返回全量原始数据
final_df = get_time(event_1='open', event_2='close')
# 返回仅含open和jump的数据集
filtered_result = get_time(event_1='open', event_2='jump')

逻辑说明

  • 增加条件判断:当传入的两个参数恰好是event_1='open'且event_2='close'时,直接返回原始数据集的副本(使用copy()避免后续操作修改原始数据)。
  • 其他参数组合下,保持原有逻辑筛选event_name匹配指定事件的行,同样返回副本保证数据独立性。

适配说明

如果你的原始数据列名是event(而非代码中的event_name),只需将代码中的df['event_name']替换为df['event']即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:36:26