使用codegeex生成python数据过滤代码需明确提示结构:一、结构化自然语言描述数据形态与条件;二、pandas上下文注入生成向量化表达式;三、示例输入输出驱动逻辑推导;四、多轮对话细化边界情形;五、json schema反向生成校验过滤器。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望使用CodeGeeX快速生成符合特定业务规则的Python数据过滤代码,但不确定如何准确描述筛选条件或组织语法结构,则可能是由于提示词表达模糊、数据源格式未明确或目标逻辑层级缺失。以下是实现该任务的多种可行方式:
一、使用结构化自然语言提示词触发精准生成
CodeGeeX对输入提示词的结构敏感,需明确指定数据形态、字段名、比较操作符及布尔组合关系,模型才能输出可直接运行的filter函数或列表推导式。
1、在CodeGeeX编辑器中新建空白Python文件,输入以“请生成一个Python函数”开头的指令。
2、紧接描述数据样本格式,例如:“输入是一个包含字典的列表,每个字典有键'name'、'age'、'score'和'city'”。
3、用分号分隔多个条件,例如:“筛选出age大于25且score不低于80,同时city为'Beijing'或'Shanghai'的记录”。
4、按回车触发生成,CodeGeeX将输出含def定义、类型注解及return语句的完整函数体。
二、基于Pandas DataFrame上下文注入生成向量化过滤代码
当用户已在当前环境加载pandas并拥有DataFrame变量时,CodeGeeX可通过识别变量名与列属性自动补全布尔索引表达式,避免手动编写loc或query字符串。
1、在代码块上方添加注释行,写明变量名与预期过滤目标,例如:“# df是学生信息表,需筛选gender=='F'且grade>85的行”。
2、在下一行留空并调用CodeGeeX代码补全功能。
3、模型将生成类似df[(df['gender'] == 'F') & (df['grade'] > 85)]的表达式,并自动包裹在赋值语句中。
4、若需支持空值安全判断,CodeGeeX会主动加入df['grade'].notna()前置条件。
三、通过示例输入-输出对驱动生成自定义filter函数
提供原始数据片段与期望输出结果,CodeGeeX可逆向推导隐含的过滤逻辑并封装为可复用函数,适用于复杂嵌套结构或非常规比较场景。
1、在提示区域粘贴JSON格式输入样例,如:[{"id":1,"tags":["A","B"],"level":3},{"id":2,"tags":["C"],"level":1}]。
2、另起一行写明输出样例,如:[{"id":1,"tags":["A","B"],"level":3}]。
3、追加说明:“只保留tags包含'A'且level大于2的字典”。
4、CodeGeeX将生成带any()和lambda的filter调用,或使用列表推导式配合in运算符。
四、利用多轮对话细化条件优先级与边界情形
当初始生成结果未覆盖null处理、大小写敏感、正则匹配等细节时,可通过追加约束指令引导模型迭代优化,无需重新描述全部需求。
1、对首轮生成的代码添加评论:“需要忽略name字段的大小写进行匹配”。
2、再输入新指令:“如果score字段为None,应跳过该条记录”。
3、CodeGeeX将在原函数中插入item.get('name', '').lower() == target_name.lower()及item.get('score') is not None检查。
4、最终输出函数将同时满足主条件、空值防御与字符串归一化要求。
五、结合TypeScript/JSON Schema反向生成校验式过滤器
若已有数据结构定义(如OpenAPI schema或Pydantic模型),CodeGeeX可解析字段类型与约束关键字(minimum、pattern、enum),生成带类型断言与异常跳过的过滤逻辑。
1、粘贴JSON Schema片段,包含"properties"、"type"、"minimum"等字段。
2、注明目标行为:“生成一个函数,过滤掉不符合schema中数值范围与枚举值限制的字典”。
3、CodeGeeX将为每个数值字段插入isinstance(val, (int, float)) and val >= schema_min判断,为字符串字段插入val in enum_list检查。
4、所有校验失败项将被continue跳过,不中断主循环流程。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











