Come creare un intervallo di date in pandas (3 esempi)
Puoi utilizzare la funzione pandas.date_range() per creare un intervallo di date in panda.
Questa funzione utilizza la seguente sintassi di base:
pandas.date_range(inizio, fine, periodi, frequenza, …)
Oro:
- inizio : la data di inizio
- end : la data di fine
- periodi: il numero di periodi da generare
- freq : la frequenza da utilizzare (fare riferimento a questo elenco per gli alias di frequenza)
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: crea un intervallo di date con singoli giorni
Il codice seguente mostra come creare un intervallo di date composto da singoli giorni con una data di inizio e di fine specifica:
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')
Il risultato è un elenco di 10 giorni dalla data di inizio specificata alla data di fine specificata.
Esempio 2: creare un intervallo di date con un numero specifico di periodi
Il codice seguente mostra come creare un intervallo di date con un numero specifico di periodi equidistanti tra una determinata data di inizio e di fine:
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)
Il risultato è un elenco di 3 giorni equidistanti dalla data di inizio specificata alla data di fine specificata.
Esempio 3: crea un intervallo di date con una frequenza specifica
Il codice seguente mostra come creare un intervallo di date che inizia in una data specifica e ha una frequenza di data di inizio di sei mesi:
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')
Il risultato è un elenco di sei date ciascuna distanziata di un mese. Tieni presente che ” MS ” significa “Inizio del mese”. Puoi trovare un elenco completo degli alias di data qui .
Il codice seguente mostra come creare un intervallo di date che inizia da una data specifica e ha una frequenza annuale:
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')
Il risultato è un elenco di sei date ciascuna distanziata di un anno l’una dall’altra.
Nota : è possibile trovare la documentazione online completa per la funzione pd.date_range() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni con le date nei panda:
Come filtrare le righe Pandas DataFrame per data
Come ordinare un DataFrame Pandas per data
Come estrarre il mese dalla data in Pandas