Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

423
Visualizações
pandas ventana móvil e índices de fecha y hora: ¿Qué significa `compensación`?

La función de ventana móvil pandas.DataFrame.rolling de pandas 0.22 toma un argumento de window que se describe a continuación:

ventana : int, o desplazamiento

Tamaño de la ventana móvil. Este es el número de observaciones utilizadas para calcular la estadística. Cada ventana tendrá un tamaño fijo.

Si es un desplazamiento, este será el período de tiempo de cada ventana. Cada ventana tendrá un tamaño variable en función de las observaciones incluidas en el período de tiempo. Esto solo es válido para índices de fecha y hora. Esto es nuevo en 0.19.0

¿Qué es realmente una compensación en este contexto?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En pocas palabras, si usa un offset como "2D" (2 días), los pandas usarán la información de fecha y hora en el índice (si está disponible), lo que podría dar cuenta de las filas que faltan o las frecuencias irregulares. Pero si usa un int simple como 2, entonces pandas tratará el índice como un índice entero simple [0,1,2,...] e ignorará cualquier información de fecha y hora en el índice.

Un ejemplo simple debería dejar esto claro:

 df=pd.DataFrame({'x':range(4)}, index=pd.to_datetime(['1-1-2018','1-2-2018','1-4-2018','1-5-2018'])) x 2018-01-01 0 2018-01-02 1 2018-01-04 2 2018-01-05 3

Tenga en cuenta que (1) el índice es una fecha y hora, pero también (2) falta '2018-01-03'. Entonces, si usa un número entero simple como 2, rolling solo mirará las dos últimas filas, independientemente del valor de fecha y hora (en cierto sentido, se comporta como iloc[i-1:i] donde i es la fila actual):

 df.rolling(2).count() x 2018-01-01 1.0 2018-01-02 2.0 2018-01-04 2.0 2018-01-05 2.0

Por el contrario, si usa una compensación de 2 días ( '2D' ), rolling usará los valores de fecha y hora reales y tendrá en cuenta cualquier irregularidad en el índice de fecha y hora.

 df.rolling('2D').count() x 2018-01-01 1.0 2018-01-02 2.0 2018-01-04 1.0 2018-01-05 2.0

También tenga en cuenta que necesita que el índice se ordene en orden ascendente cuando usa un desplazamiento de fecha, pero no importa cuando usa un número entero simple (ya que de todos modos simplemente está ignorando el índice).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda