Selecionando Linhas e Colunas — Pandas vs Polars
Publicado:
Atualizado:
PorJeferson Peter
2 min de leituraPolars & Pandas
Imagine que você acabou de carregar um conjunto de dados de clientes em um DataFrame.
A primeira coisa que provavelmente vai querer fazer é explorar: ver apenas a colunanome, filtrar clientes com mais de 25 anos ou pegar uma linha específica.
Tanto Pandas quanto Polars permitem isso, mas com sintaxes um pouco diferentes. Vamos comparar.
Selecionando uma única coluna
# Pandas
import pandas as pd
df = pd.DataFrame({"nome": ["Alice", "Bob"], "idade": [25, 30]})
print(df["nome"])
# 0 Alice
# 1 Bob
# Name: nome, dtype: object
# Polars
import polars as pl
df = pl.DataFrame({"nome": ["Alice", "Bob"], "idade": [25, 30]})
print(df.select("nome"))
# shape: (2, 1)
# ┌───────┐
# │ nome │
# │ --- │
# │ str │
# ╞═══════╡
# │ Alice │
# │ Bob │
# └───────┘
Selecionando múltiplas colunas
# Pandas
print(df[["nome", "idade"]])
# nome idade
# 0 Alice 25
# 1 Bob 30
# Polars
print(df.select(["nome", "idade"]))
# shape: (2, 2)
# ┌───────┬───────┐
# │ nome ┆ idade │
# │ --- ┆ --- │
# │ str ┆ i64 │
# ╞═══════╪═══════╡
# │ Alice ┆ 25 │
# │ Bob ┆ 30 │
# └───────┴───────┘
Filtrando linhas
# Pandas
print(df[df["idade"] > 25])
# nome idade
# 1 Bob 30
# Polars
print(df.filter(pl.col("idade") > 25))
# shape: (1, 2)
# ┌───────┬───────┐
# │ nome ┆ idade │
# │ --- ┆ --- │
# │ str ┆ i64 │
# ╞═══════╪═══════╡
# │ Bob ┆ 30 │
# └───────┴───────┘
Selecionando linhas por índice
# Pandas
print(df.iloc[0])
# nome Alice
# idade 25
# Name: 0, dtype: object
⚠️ No Polars, não se acessa linhas diretamente por índice — você as filtra por condições.
Conclusão
- Pandas: use
loc/ilocpara linhas,[]para colunas. - Polars: use
.select()para colunas e.filter()para linhas.
👉 Próximo passo: no próximo post, vamos comparar a performance de leitura de CSV entre Pandas e Polars. o post, vamos comparar a performance de leitura de CSV entre Pandas e Polars.