- analiticas
- Posts
- Aggiungere data e ora ad un dataframe in pandas
Aggiungere data e ora ad un dataframe in pandas
Scopri come inserire automaticamente la data e l'ora corrente nei tuoi dataframe
In questa micro-lezione, esploreremo come aggiungere valori dinamici come la data e l'ora ai nostri dataframe in pandas. Questa tecnica è particolarmente utile quando lavori con dati che richiedono un timestamp o quando vuoi tenere traccia di quando sono state effettuate determinate operazioni sui tuoi dati.
Importiamo le librerie necessarie
Prima di iniziare, assicuriamoci di avere tutte le librerie necessarie: oltre a pandas, useremo anche la libreria datetime e in particolare i suoi moduli datetime e date.
import pandas as pd
from datetime import datetime, dateIniziamo
Iniziamo creando un semplice dataframe (se hai già dei dati sui quali lavorare, puoi saltare questo passaggio).
/
df = pd.DataFrame({
'Nome': ['Mario', 'Luigi', 'Peach'],
'Punteggio': [100, 150, 200]
})Il nostro dataframe iniziale apparirà così:

Aggiungere la data corrente
Per aggiungere la data corrente a ogni riga del nostro dataframe, possiamo utilizzare il metodo date.today(). In questo esempio, aggiungiamo una nuova colonna al nostro dataframe alla quale assegniamo il valore della data odierna:
df['Data'] = date.today()Ed ecco qui il risultato:

Aggiungere anche l'ora
Se vogliamo essere più precisi e includere anche l'ora, possiamo utilizzare datetime.now() :
df['Timestamp'] = datetime.now()Il nostro dataframe aggiornato avrà questo aspetto:

Formattare l'ora e la data
Tuttavia, avrai notato che la parte finale dei valori della nuova colonna è un po’ strana. Infatti datetime.now() include le unità di tempo fino al microsecondo. Se non abbiamo bisogno di essere così precisi, possiamo usare il metodo strftime().
In questo esempio, estraiamo l’ora dal valore del timestamp, decidiamo di rappresentarla in ore, minuti e secondi e ne mettiamo il valore in una nuova colonna:
df['Ora_Formattata'] = datetime.now().strftime('%H:%M:%S') In aggiunta, immaginiamo di voler rappresentare la data con giorno, mese e anno separati da una barra obliqua (nel formato gg/mm/aaaa) anziché dal trattino. Anche in questo caso useremo il metodo strftime() applicato, questa volta, a date.today().
df['Data_Formattata'] = date.today().strftime('%d/%m/%Y')Ecco il risultato finale:

Metodologia avanzata
I passaggi visti finora vanno bene se dobbiamo cambiare il formato di data e ora una sola volta. Ma come possiamo evitare di scrivere codice ripetitivo se vogliamo eseguire questa operazione più volte? Ci basta creare due variabili, con i valori di data e ora nel formato che desideriamo:
data2 = date.today().strftime('%d/%m/%Y')
ora2 = datetime.now().strftime('%H:%M:%S')Successivamente possiamo usare queste variabili in più punti del nostro codice. Come, ad esempio, per creare le colonne che abbiamo aggiunto in precedenza:
df['Ora_Formattata'] = data2
df['Data_Formattata'] = ora2Conclusione
Aggiungere valori dinamici come la data e l'ora ai tuoi dataframe in pandas è un'operazione molto semplice che può servirti per tenere traccia delle modifiche, creare log o semplicemente aggiungere informazioni temporali ai tuoi dati.
Ricorda però che ogni volta che esegui il codice, otterrai la data e l'ora correnti.
Alla prossima micro-lezione 👋