Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Desafio 4

Eu criei essa função para, não ficar repetitivo:

def transformar_data(df, cols):
    for col in cols:
        if col in df.columns:
            df[col] = pd.to_datetime(df[col], format='%d/%m/%Y')
    return df

E testei esse método alternativo:

# df_locacao = df_locacao.assign(
# diferenca_dias=(df_locacao['datas_de_pagamento'] - df_locacao['datas_combinadas_pagamento']).dt.days)

Caso queremos saber qual o apartamento com mais dias de atraso:

media_atraso.idxmax(axis=0)
1 resposta
solução!

Olá, William! Como vai?

Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Observei que você explorou o uso de funções personalizadas para aplicar transformações em colunas específicas de um DataFrame, utilizou muito bem o pd.to_datetime para padronizar datas no formato brasileiro e ainda compreendeu a importância do idxmax() para identificar o índice do maior valor.

Uma dica interessante para o futuro é usar errors='coerce' no pd.to_datetime para lidar com datas inválidas ou ausentes. Dessa forma:

df[col] = pd.to_datetime(df[col], format='%d/%m/%Y', errors='coerce')

Resultado: Datas inválidas serão convertidas para NaT (Not a Time)

Isso faz com que o código seja mais robusto, evitando falhas quando encontrar valores inesperados ou mal formatados.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!