1
resposta

Não consegui inserir o system proposto

Sempre que tentei utilizar o system proposto:

system = f"""Você tem acesso a um dataframe pandas `df`. \
Aqui está a saída de `df.head().to_markdown()`:

\`\`\`
{df.head().to_markdown()}
\`\`\`

Dada uma pergunta do usuário, escreva o código Python para respondê-la. \
Retorne SOMENTE o código Python válido e nada mais. \
Não presuma que você tem acesso a nenhuma biblioteca além das bibliotecas Python integradas e pandas."""

recebi erro, consegui mudando e deixando da seguinte forma:

system = f"""Você tem acesso a um dataframe pandas `df`. \
O dataframe contém as seguintes colunas: {df.columns}. \
Dada uma pergunta do usuário, escreva o código Python para respondê-la. \
Retorne SOMENTE o código Python válido e nada mais. \
Não presuma que você tem acesso a nenhuma biblioteca além das bibliotecas Python integradas e pandas."""
1 resposta

Oi Fernando! Faz sentido o erro que você teve. Quando usamos df.head().to_markdown() dentro de um f-string, se o df ainda não foi definido, o Python vai acusar erro na hora de montar a string — porque ele tenta executar isso imediatamente. Já ao passar só df.columns, o erro não acontece se o df estiver vazio ou ainda for definido depois.

Se a ideia for montar esse system dinamicamente dentro de uma função, você pode garantir que o df esteja carregado antes ou usar algo como str(df.head().to_markdown()) com um try-except por segurança.

A versão que você usou, com df.columns, é mais estável nesse contexto e cumpre bem o papel de informar a estrutura dos dados sem forçar a execução do .head().

Boa solução!