Como criar um intervalo de datas no pandas (3 exemplos)


Você pode usar a função pandas.date_range() para criar um intervalo de datas no pandas.

Esta função usa a seguinte sintaxe básica:

pandas.date_range(início, fim, períodos, frequência,…)

Ouro:

  • início : a data de início
  • fim : a data de término
  • períodos: o número de períodos a serem gerados
  • freq : A frequência a ser usada (consulte esta lista para aliases de frequência)

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: Crie um intervalo de datas com dias individuais

O código a seguir mostra como criar um intervalo de datas que consiste em dias individuais com datas de início e término específicas:

 import pandas as pd

#create 10-day date range
p.d. date_range (start=' 1/1/2020 ', end= '10/1/2020 ')

DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04',
               '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08',
               '2020-01-09', '2020-01-10'],
              dtype='datetime64[ns]', freq='D')

O resultado é uma lista de 10 dias a partir da data de início especificada até a data de término especificada.

Exemplo 2: Crie um intervalo de datas com um número específico de períodos

O código a seguir mostra como criar um intervalo de datas com um número específico de períodos equidistantes entre uma determinada data de início e de término:

 import pandas as pd

#create 10-day date range with 3 equally-spaced periods
p.d. date_range (start=' 1/1/2020 ', end=' 1/10/2020 ', periods= 3 )

DatetimeIndex(['2020-01-01 00:00:00', '2020-01-05 12:00:00',
               '2020-01-10 00:00:00'],
              dtype='datetime64[ns]', freq=None)

O resultado é uma lista de 3 dias equidistantes da data de início especificada até a data de término especificada.

Exemplo 3: Crie um intervalo de datas com uma frequência específica

O código a seguir mostra como criar um intervalo de datas que começa em uma data específica e tem uma frequência de data de início de seis meses:

 import pandas as pd

#create date range with six month start dates
p.d. date_range (start=' 1/1/2020 ', freq=' MS ', periods= 6 )

DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01',
               '2020-05-01', '2020-06-01'],
              dtype='datetime64[ns]', freq='MS')

O resultado é uma lista de seis datas, cada uma com intervalo de um mês. Observe que “ MS ” significa “Início do Mês”. Você pode encontrar uma lista completa de aliases de datas aqui .

O código a seguir mostra como criar um intervalo de datas começando em uma data específica e com frequência anual:

 import pandas as pd

#create date range with six consecutive years
p.d. date_range (start=' 1/1/2020 ', freq=' YS ', periods= 6 )

DatetimeIndex(['2020-01-01', '2021-01-01', '2022-01-01', '2023-01-01',
               '2024-01-01', '2025-01-01'],
              dtype='datetime64[ns]', freq='AS-JAN')

O resultado é uma lista de seis datas, cada uma com intervalo de um ano.

Nota : Você pode encontrar a documentação online completa para a função pd.date_range() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como fazer outras operações comuns com datas em pandas:

Como filtrar linhas do Pandas DataFrame por data
Como classificar um DataFrame do Pandas por data
Como extrair o mês da data no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *