AI的提示词专栏:Prompt 与 Python Pandas 的结合使用指南
(2025–2026 实用版 · 重点在于真实可落地的用法)
目前最常见且最高效的几种“Prompt + Pandas”结合模式如下,按实用价值从高到低排序:
- 自然语言 → Pandas 查询代码生成
- 数据分析思路 → 完整分析代码链
- 数据清洗 / 特征工程建议 → 可执行代码
- 报错修复 + Pandas 调试助手
- 报表/可视化方案 → matplotlib/seaborn/plotly 代码
- 复杂多步分析 → Chain-of-Thought + 分步代码
- Pandas 代码 → 自然语言解释(反向)
下面逐一给出目前(2025–2026)最有效的提示词模板 + 使用建议。
1. 自然语言 → Pandas 查询代码(使用最频繁)
推荐模板 A(最稳,适用于绝大多数模型)
你是一位有8年经验的Python数据分析师,特别精通pandas。
任务要求:
- 只输出可直接运行的Python代码
- 必须使用pandas,不使用其他库(除非明确必要)
- 优先使用最新pandas写法(query、assign、pipe等)
- 变量名使用有意义的英文
- 代码中必须包含必要的import
- 如果有过滤/分组/透视,优先使用可读性高的写法
- 最后一行必须是最终结果的变量名(不要print)
现在有以下DataFrame:df
{df.head(8).to_markdown(index=False)}
用户需求:{你的中文需求}
请直接输出完整代码块,不要包含任何解释文字。
更强变体(Claude / o1 / DeepSeek-R1 系列特别有效)
在上面模板最后加一句:
请按照以下思考步骤输出(但最终只输出代码):
1. 先确认需要哪些列、过滤条件、分组字段
2. 考虑是否需要处理缺失值、类型转换
3. 规划最简洁、高效的pandas链式写法
4. 检查代码语法正确性
2. 数据分析思路 → 完整分析代码链
模板 B(适合探索性分析)
你现在是一位Kaggle Grandmaster级别的pandas专家。
当前数据框信息如下:
{df.dtypes.to_frame('dtype').join(df.nunique().to_frame('nunique')).to_markdown()}
前8行数据:
{df.head(8).to_markdown(index=False)}
用户想做:{你的分析目标,例如“分析销售额和退货率的关系,并找出异常高的退货商品”}
请输出一个完整的、可直接运行的pandas分析代码链,包含:
1. 数据预处理(缺失值、异常值、类型转换)
2. 核心计算(分组、透视、相关性等)
3. 关键发现的计算
4. 建议的可视化代码(使用matplotlib或seaborn)
5. 所有步骤都要有清晰的变量命名
只输出代码,不要其他文字。
3. 典型场景专用提示词(复制即用)
场景1:多条件过滤 + 新列计算
请帮我写pandas代码,实现以下逻辑:
数据框df包含列:order_id, user_id, order_time, amount, category, is_refund
需求:
1. 只保留2024年以后的订单
2. 计算每个用户的累计消费金额(cumsum)
3. 标记出累计消费≥5000元的用户为'VIP'
4. 最后只保留 user_id, total_amount, is_vip 三列,并按total_amount降序
只输出代码。
场景2:宽表转长表 + 透视表逆向
现有宽表df,列为:date, 北京_销量, 上海_销量, 广州_销量, 深圳_销量
请转换为长表格式,结果包含三列:date, city, sales
然后再做透视表,行是date,列是city,值为sales
请直接给出完整pandas代码。
场景3:处理中文列名 + 脏数据
df列名是中文,且包含大量空字符串、全角空格、换行符。
请写一段pandas预处理代码,实现:
- 列名strip()并去除前后空格
- 把所有列的字符串类型值strip(),把空字符串和纯空格转为NaN
- 把所有列名中的“(”替换为“_”,去除“)”
- 尝试把数值列转为float(errors='coerce')
只输出代码。
4. 最高效的Prompt使用模式总结(2025–2026经验)
| 目标 | 最佳模型推荐(2025-2026) | Prompt长度建议 | 是否强制只输出代码 | 加不加CoT |
|---|---|---|---|---|
| 简单查询/过滤 | DeepSeek-R1, Qwen2.5-72B-Instruct | 短~中 | 是 | 可不加 |
| 完整分析链(EDA) | Claude-4/4.5, o1-mini/pro | 中~长 | 是 | 强烈建议 |
| 复杂特征工程 | Claude / Grok / Gemini-2.5 | 长 | 是 | 必须 |
| 报错修复 | Claude / o1 | 中 | 否(要解释) | 建议 |
| 生成可视化代码 | Claude / Gemini | 中 | 是 | 可选 |
5. 极简工作流模板(日常最高频)
你是一位pandas专家。
当前数据框df形状:{df.shape}
列类型:
{df.dtypes}
前5行:
{df.head().to_markdown(index=False)}
用户问题:{你的问题}
要求:
- 只输出可运行的pandas代码
- 使用最新pandas写法
- 链式操作优先
- 最后一行是结果变量名(例如 result = ...)
直接开始写代码:
把上面这段复制到你常用的模型里,把 { } 里的内容替换成真实数据信息,就能获得非常高的命中率。
你目前最常遇到的Pandas + LLM场景是哪一种?
A. 自然语言转查询代码
B. 复杂多步分析代码生成
C. 数据清洗/特征工程建议
D. 报错找原因 + 修改代码
E. 报表/可视化方案生成
告诉我你的主要使用场景,我可以给你更针对性的提示词组合 + 优化技巧。