如何通过OpenAI API在Python环境中创建Pandas DataFrame?
解决方法
核心逻辑是:OpenAI返回的是文本形式的Python代码,无法直接在你的环境中创建变量,你需要提取生成的代码并本地执行,才能实际创建DataFrame。
步骤1:调整提示词,指定返回可执行代码
修改提示词,明确要求AI只返回创建DataFrame的完整代码片段,比如:
生成一段Python代码,创建名为df_openai的Pandas DataFrame,包含column_1、column_2、column_3三列随机数据,仅返回代码,不要额外解释。
步骤2:调用API并提取代码
调用openai.Completion.create后,从响应结果中提取生成的代码文本:
import openai import pandas as pd # 配置API密钥(建议通过环境变量设置,避免硬编码) openai.api_key = "你的API密钥" response = openai.Completion.create( model="text-davinci-003", prompt="生成一段Python代码,创建名为df_openai的Pandas DataFrame,包含column_1、column_2、column_3三列随机数据,仅返回代码,不要额外解释。", max_tokens=200, temperature=0.7 ) # 提取并清理生成的代码 generated_code = response.choices[0].text.strip()
步骤3:执行代码创建DataFrame
使用exec()函数执行提取到的代码,即可在当前Python环境中生成df_openai变量:
# 执行生成的代码 exec(generated_code) # 验证DataFrame是否创建成功 print(df_openai.head())
注意事项
- 安全提示:
exec()会执行任意传入的代码,建议先打印generated_code检查内容,确认无恶意代码后再执行。 - 模型优化:如果使用GPT-3.5/4的ChatCompletion接口(如
gpt-3.5-turbo),代码生成的准确性和格式规范性会更好,可改用openai.ChatCompletion.create调用。
内容的提问来源于stack exchange,提问作者opsv
相关产品推荐
相关产品推荐

