Trasformazione non convenzionale delle date resa facile utilizzando la libreria Pandas di Python

Trasformazione non convenzionale delle date semplificata con Pandas, una libreria di Python

Spiegato con un esempio concreto

Foto di Debby Hudson su Unsplash

Background

Recentemente mi è stato assegnato il compito di analizzare le assenze prese dai dipendenti presso un’azienda cliente. In particolare, devo capire se un dipendente ha preso un’assenza in un determinato periodo, stabilendo infine un punto di riferimento per misurare la conformità dei dipendenti alle politiche di ritorno in ufficio.

Mi sono stati forniti i seguenti due set di dati sulle assenze:

  1. Dati sul tempo libero (“Dataset A”) che indica le assenze a breve termine come ferie annuali o malattie prese da un dipendente. Queste assenze erano uniche a livello di dipendente e data (ovvero ogni riga nel set di dati rappresenta un giorno di assenza preso da un dipendente specifico).
  2. Dati sulle assenze prolungate (“Dataset B”) che indica le date di inizio e fine delle assenze a lungo termine prese da un dipendente. Alcuni esempi di queste assenze sono il congedo parentale, il congedo di maternità, il congedo non retribuito e la pausa di carriera. Questo set di dati è su base “prendi-come-vuoi” per i dipendenti che hanno preso assenze a lungo termine, in quanto ogni riga rappresenta un intervallo di date per un dipendente, che potrebbe apparire in più righe del set di dati con più intervalli di date (ad esempio i dipendenti potrebbero preferire prendere il congedo parentale a blocchi di 3 giorni alla settimana per 30 settimane, il che apparirebbe come 30 intervalli di date distribuiti su 30 righe nel set di dati).

I due set di dati si integrano reciprocamente in quanto un dipendente potrebbe prendere sia assenze a breve che a lungo termine in un determinato periodo.

Per la mia analisi, vorrei unire i due set di dati in un formato comune in modo che tutte le assenze di un determinato dipendente siano considerate. Poiché il Dataset A è già in un formato tabellare strutturato a livello di data e dipendente, ho dovuto convertire il Dataset B in un formato simile come mostrato nell’immagine sottostante (per un set di dati creato a scopo dimostrativo).

Immagine 1: Trasformazione della data. Dataset e immagine dell'autore

Metodologia

La trasformazione illustrata nell’immagine 1 ha presentato diverse sfide dato che non è “uno-a-uno” e coinvolge le date. Per ottenere la trasformazione, ho…