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

Oracle查询转换为pandas操作实现筛选符合条件的PARAM1唯一值

实现方案
import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'PARAM1': ['A', 'A', 'B', 'B'],
    'PARAM2': ['X', 'Y', 'X', 'Y'],
    'VALUE': ['TUE, WED', 'NO', 'MON, WED', 'YES']
})

# 定义两个满足任意即可的过滤条件
cond1 = (df['PARAM2'] == 'X') & df['VALUE'].str.contains('MON')
cond2 = (df['PARAM2'] == 'Y') & (df['VALUE'] == 'YES')

# 筛选符合条件的行后取PARAM1去重值
result = df.loc[cond1 | cond2, 'PARAM1'].unique()

# 输出结果
print(result.tolist())

运行输出为['B'],和需求预期一致。

逻辑说明

  • 条件cond1对应SQL中param2 = 'X' AND REGEXP_LIKE(value, 'MON')逻辑,通过pandas字符串方法str.contains实现包含匹配
  • 条件cond2对应SQL中param2 = 'Y' AND param3 = 'YES'逻辑
  • 两个条件用|(或运算符)拼接,筛选出满足任意一个条件的行
  • 最后调用.unique()方法实现和SQLDISTINCT等价的去重效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:45:05