Pular para o conteúdo
Skillpedia
Análise e planilhas48 mil · #3848

polars

Faz seu agente processar dados rapidamente na memória. É ideal quando o Pandas é lento, mas os dados ainda cabem no computador.

O que ela faz

Polars é uma ferramenta para organizar e analisar dados em tabelas, como planilhas. Ela é muito mais rápida que outras ferramentas similares quando os dados cabem na memória do computador.

Quando usar

  • ✓Quando você tem muitos dados (até 100GB) que cabem na memória.
  • ✓Se você acha que o Pandas está lento para seus dados.
  • ✓Para organizar e transformar dados de forma eficiente.

Exemplo do que pedir para a IA

“Organize os dados desta tabela CSV, mostrando apenas as colunas de nome e idade, e filtre para incluir apenas pessoas com mais de 25 anos.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/polars/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/polars/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Polars funciona processando seus dados em etapas. Ele planeja as operações antes de executá-las, o que permite otimizar o processo e usar vários núcleos do processador ao mesmo tempo para acelerar tudo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill polars

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/polars/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Suporte upstream incluído

Arquivos de suporte são incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.

Polars

Quando Usar

  • Você precisa de um fluxo de trabalho de DataFrame em memória mais rápido que o pandas para dados que ainda cabem na RAM.
  • Você está construindo pipelines de ETL, análise ou transformação que se beneficiam da avaliação preguiçosa (lazy evaluation) e execução paralela.
  • Você quer operações tabulares baseadas em expressões sobre a semântica do Apache Arrow.

Visão Geral

Polars é uma biblioteca de DataFrame extremamente rápida para Python e Rust construída sobre o Apache Arrow. Trabalhe com a API baseada em expressões do Polars, o framework de avaliação preguiçosa e capacidades de manipulação de dados de alta performance para processamento eficiente de dados, migração do pandas e otimização de pipelines de dados.

Início Rápido

Instalação e Uso Básico

Instale o Polars:

uv pip install polars

Criação e operações básicas de DataFrame:

import polars as pl

# Create DataFrame
df = pl.DataFrame({
    "name": ["Alice", "Bob", "Charlie"],
    "age": [25, 30, 35],
    "city": ["NY", "LA", "SF"]
})

# Select columns
df.select("name", "age")

# Filter rows
df.filter(pl.col("age") > 25)

# Add computed columns
df.with_columns(
    age_plus_10=pl.col("age") + 10
)

Conceitos Principais

Expressões

Expressões são os blocos de construção fundamentais das operações do Polars. Elas descrevem transformações em dados e podem ser compostas, reutilizadas e otimizadas.

Princípios chave:

  • Use pl.col("column_name") para referenciar colunas
  • Encadeie métodos para construir transformações complexas
  • Expressões são preguiçosas e só executam dentro de contextos (select, with_columns, filter, group_by)

Exemplo:

# Expression-based computation
df.select(
    pl.col("name"),
    (pl.col("age") * 12).alias("age_in_months")
)

Avaliação Preguiçosa (Lazy) vs. Imediata (Eager)

Imediata (DataFrame): Operações executam imediatamente

df = pl.read_csv("file.csv")  # Reads immediately
result = df.filter(pl.col("age") > 25)  # Executes immediately

Preguiçosa (LazyFrame): Operações constroem um plano de consulta, otimizado antes da execução

lf = pl.scan_csv("file.csv")  # Doesn't read yet
result = lf.filter(pl.col("age") > 25).select("name", "age")
df = result.collect()  # Now executes optimized query

Quando usar preguiçosa:

  • Trabalhando com grandes conjuntos de dados
  • Pipelines de consulta complexos
  • Quando apenas algumas colunas/linhas são necessárias
  • Performance é crítica

Benefícios da avaliação preguiçosa:

  • Otimização automática de consulta
  • Predicate pushdown (empurrar filtros para baixo)
  • Projection pushdown (empurrar seleções de colunas para baixo)
  • Execução paralela

Para conceitos detalhados, carregue references/core_concepts.md.

Operações Comuns

Selecionar (Select)

Selecione e manipule colunas:

# Select specific columns
df.select("name", "age")

# Select with expressions
df.select(
    pl.col("name"),
    (pl.col("age") * 2).alias("double_age")
)

# Select all columns matching a pattern
df.select(pl.col("^.*_id$"))

Filtrar (Filter)

Filtre linhas por condições:

# Single condition
df.filter(pl.col("age") > 25)

# Multiple conditions (cleaner than using &)
df.filter(
    pl.col("age") > 25,
    pl.col("city") == "NY"
)

# Complex conditions
df.filter(
    (pl.col("age") > 25) | (pl.col("city") == "LA")
)

Com Colunas (With Columns)

Adicione ou modifique colunas preservando as existentes:

# Add new columns
df.with_columns(
    age_plus_10=pl.col("age") + 10,
    name_upper=pl.col("name").str.to_uppercase()
)

# Parallel computation (all columns computed in parallel)
df.with_columns(
    pl.col("value") * 10,
    pl.col("value") * 100,
)

Agrupar Por (Group By) e Agregações

Agrupe dados e compute agregações:

# Basic grouping
df.group_by("city").agg(
    pl.col("age").mean().alias("avg_age"),
    pl.len().alias("count")
)

# Multiple group keys
df.group_by("city", "department").agg(
    pl.col("salary").sum()
)

# Conditional aggregations
df.group_by("city").agg(
    (pl.col("age") > 30).sum().alias("over_30")
)

Para padrões de operação detalhados, carregue references/operations.md.

Agregações e Funções de Janela

Funções de Agregação

Agregações comuns dentro do contexto group_by:

  • pl.len() - contar linhas
  • pl.col("x").sum() - somar valores
  • pl.col("x").mean() - média
  • pl.col("x").min() / pl.col("x").max() - extremos
  • pl.first() / pl.last() - primeiros/últimos valores

Funções de Janela com over()

Aplique agregações preservando a contagem de linhas:

# Adiciona estatísticas de grupo a cada linha

…
Perguntas frequentes

O que são 'Expressões'?

Expressões são como comandos que dizem ao Polars o que fazer com as colunas, como selecionar, filtrar ou calcular novos valores.

Qual a diferença entre 'Lazy' e 'Eager'?

Eager executa os comandos imediatamente. Lazy planeja todos os comandos e só executa no final, o que é mais eficiente para grandes volumes de dados.

Posso ler arquivos de outros formatos?

Sim, Polars suporta vários formatos como CSV, Parquet, JSON e até bancos de dados.

Detalhes

Descrição original do autor

Fast in-memory DataFrame library for datasets that fit in RAM. Use when pandas is too slow but data still fits in memory. Lazy evaluation, parallel execution, Apache Arrow backend. Best for 1-100GB datasets, ETL pipelines, faster pandas replacement. For larger-than-RAM data use dask or vaex.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3848
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas