Trabalhando com Datas — Pandas vs Polars
Publicado:
Atualizado:
PorJeferson Peter
1 min de leituraPolars & Pandas
Conjuntos de dados quase sempre incluem timestamps. Tratar esses campos corretamente é essencial para a análise.
Tanto Pandas quanto Polars oferecem ferramentas para converter e formatar datas, mas com sintaxes diferentes.
Dados de exemplo
import pandas as pd
import polars as pl
dados = {"data": ["2025-01-01", "2025-02-15"]}
df_pd = pd.DataFrame(dados)
df_pl = pl.DataFrame(dados)
Convertendo para datetime
# Pandas
df_pd["data"] = pd.to_datetime(df_pd["data"])
print(df_pd)
# data
# 0 2025-01-01
# 1 2025-02-15
# Polars
df_pl = df_pl.with_columns(pl.col("data").str.strptime(pl.Date, "%Y-%m-%d"))
print(df_pl)
# shape: (2, 1)
# ┌────────────┐
# │ data │
# │ --- │
# │ date │
# ╞════════════╡
# │ 2025-01-01 │
# │ 2025-02-15 │
# └────────────┘
Extraindo partes da data
# Pandas
print(df_pd["data"].dt.month)
# 0 1
# 1 2
# Name: data, dtype: int32
# Polars
print(df_pl.with_columns(df_pl["data"].dt.month().alias("mes")))
# shape: (2, 2)
# ┌────────────┬─────┐
# │ data ┆ mes │
# │ --- ┆ --- │
# │ date ┆ u32 │
# ╞════════════╪═════╡
# │ 2025-01-01 ┆ 1 │
# │ 2025-02-15 ┆ 2 │
# └────────────┴─────┘
Conclusão
- Pandas:
pd.to_datetimee o acessor.dtpara partes da data. - Polars:
.str.strptime()para parsing e.dtpara componentes. - Ambos são poderosos — o Polars foca em performance e parsing explícito.