onlinecompiler.io

Compilador Python online com pandas

Escreva código pandas abaixo e rode de graça, num sandbox nos nossos servidores. Cole um CSV na aba Entrada e leia com pd.read_csv. NumPy, Matplotlib, seaborn e scikit-learn também estão instalados. Sem cadastro, sem anúncios.

Also in EnglishTambién en español

import sys
import pandas as pd

# Lê o CSV da aba Entrada
df = pd.read_csv(sys.stdin)

print(df.groupby("cidade")["vendas"].sum().sort_values(ascending=False))
print()
print(df["vendas"].describe().round(1))
cidade,mes,vendas
Recife,jan,120
Recife,fev,135
Curitiba,jan,180
Curitiba,fev,160
Manaus,jan,95
Manaus,fev,110
São Paulo,jan,210
São Paulo,fev,190

Aperte Executar e o programa mostra as vendas por cidade e depois um resumo da coluna de vendas:

Saída
cidade
São Paulo    400
Curitiba     340
Recife       255
Manaus       205
Name: vendas, dtype: int64

count      8.0
mean     150.0
std       41.3
min       95.0
25%      117.5
50%      147.5
75%      182.5
max      210.0
Name: vendas, dtype: float64

O que roda o seu código pandas

Python 3.14 com pandas 3.0.6. Estes pacotes já vêm instalados, sem configurar nada: numpy 2.5.4, pandas 3.0.6, scipy 1.18.1, scikit-learn 1.9.1, matplotlib 3.11.2, seaborn 0.13.2, statsmodels 0.15.0, sympy 1.14.0, openpyxl 3.1.5, pillow 13.0.0, duckdb 1.5.6, wordcloud 1.9.6, polars 2.1.0, pgmpy 1.1.2, nltk 3.10.4. As versões também estão na tabela de pacotes (em inglês). Outros pacotes do PyPI não estão instalados, e não há rede para instalá-los.

Use os seus dados ou um conjunto já instalado

Cole um CSV na aba Entrada, até 100 KB, e leia com pd.read_csv(sys.stdin), como o programa acima faz. Alguns conjuntos de dados já estão instalados e carregam sem internet: os 22 conjuntos de exemplo do seaborn, com sns.load_dataset, os do scikit-learn (load_iris, load_digits, load_wine, load_breast_cancer, load_diabetes) e os que vêm com o statsmodels.

dados.py
import seaborn as sns
from sklearn.datasets import load_iris

gorjetas = sns.load_dataset("tips")        # um dos 22 conjuntos de exemplo do seaborn
iris = load_iris(as_frame=True).frame      # conjuntos que vêm com o scikit-learn
print(gorjetas.shape, iris.shape)

Pela API você envia até 20 arquivos com uma execução, 1 MB no total, e lê cada um pelo nome (veja o exemplo abaixo).

pandas 2 e pandas 3

O pandas 3 mudou alguns padrões: colunas de texto ganham um novo dtype de string, e o copy-on-write fica sempre ligado, então código que altera um pedaço de um DataFrame pode se comportar diferente. Para código ou exercícios escritos para o pandas 2, a API tem um segundo ambiente, python-3.14-pandas2, com o pandas 2.3.3 e os mesmos outros pacotes. O editor desta página roda o pandas 3.0.6.

Confira uma resposta automaticamente

O compilador online com casos de teste roda o seu código com várias entradas e marca cada uma como aprovada ou reprovada. Para uma resposta em tabela, imprima o DataFrame como CSV e escolha "Tabela CSV, linhas em qualquer ordem": ela compara as colunas pelo nome, ignora a ordem das linhas e a coluna de índice do pandas, e compara números com uma pequena tolerância:

resposta.py
totais = df.groupby("cidade", as_index=False)["vendas"].sum()
print(totais.to_csv(index=False))

Limites

  • Cada execução tem 30 segundos, 512 MB de memória (até 2 GB pela API nos planos Pro e Business) e 2 CPUs, e começa do zero: nada fica guardado entre execuções.
  • Não há rede, então pd.read_csv de uma URL, pip install e os carregadores fetch_* do scikit-learn dão erro.
  • A saída acima de 64 KB por fluxo é cortada, então imprima um resumo em vez de um DataFrame grande inteiro.

Rode pandas a partir do seu app

Envie o código e os arquivos de dados para a API com uma chave, e a saída volta na resposta. É grátis até 100.000 execuções por mês.

Terminal
curl -X POST https://api.onlinecompiler.io/api/run-code-sync/ \
  -H "Authorization: SUA_CHAVE_DE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "compiler": "python-3.14",
    "code": "import pandas as pd\n\ndf = pd.read_csv(\"dados.csv\")\nprint(df.groupby(\"cidade\")[\"vendas\"].sum().to_dict())",
    "files": [
      {"name": "dados.csv", "content": "cidade,vendas\nRecife,120\nRecife,135\nCuritiba,180\n"}
    ]
  }'

O output da resposta é "{'Curitiba': 180, 'Recife': 255}\n". Os gráficos que o programa mostra voltam em files; a documentação da API explica os dois.

Mais para trabalhar com dados

Perguntas frequentes

Este compilador Python com pandas é grátis?

É. Rodar pandas nesta página não exige conta e não mostra anúncios. Para rodar pandas a partir do seu próprio app ou site, a API e o editor incorporável são grátis até 100.000 execuções por mês, uso comercial incluído.

Qual versão do pandas ele roda?

O pandas 3.0.6 no Python 3.14, com numpy 2.5.4, pandas 3.0.6, scipy 1.18.1, scikit-learn 1.9.1, matplotlib 3.11.2, seaborn 0.13.2, statsmodels 0.15.0, sympy 1.14.0, openpyxl 3.1.5, pillow 13.0.0, duckdb 1.5.6, wordcloud 1.9.6, polars 2.1.0, pgmpy 1.1.2, nltk 3.10.4. Para código escrito para o pandas 2, a API tem o id python-3.14-pandas2, que roda o pandas 2.3.3.

Posso usar o meu próprio arquivo CSV?

Pode. Cole o CSV na aba Entrada (até 100 KB) e leia com pd.read_csv(sys.stdin). Pela API você envia até 20 arquivos, 1 MB no total, e lê cada um pelo nome, como pd.read_csv("dados.csv").

Por que read_csv com uma URL dá erro?

Os programas rodam sem acesso à rede, então pd.read_csv("https://...") para com URLError: Temporary failure in name resolution. Cole os dados na aba Entrada, envie-os como arquivo pela API ou use um conjunto de dados já instalado, como sns.load_dataset("tips").

Posso rodar código do pandas 2?

Pode, pela API: envie o id python-3.14-pandas2 e o código roda no pandas 2.3.3 com os mesmos outros pacotes. O editor desta página roda o pandas 3.0.6.

Posso fazer gráficos de um DataFrame?

Pode. O Matplotlib e o seaborn estão instalados: chame df.plot() e depois plt.show(), e o gráfico aparece como imagem abaixo da saída.