Selecionando Linhas e Colunas — Pandas vs Polars

Publicado:
Atualizado:
PorJeferson Peter
2 min de leitura
Polars & Pandas
Compartilhe este post:

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 coluna nome, 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/iloc para 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.

Compartilhe este post: