Untitled

 avatar
unknown
python
a year ago
1.2 kB
2
Indexable
import pandas as pd
from datetime import datetime, timedelta

# Supponiamo che 'visit_master' sia il tuo dataframe
# visit_master = pd.DataFrame([...])  # Il tuo dataframe iniziale

# 1. Creare le date mancanti
max_date = visit_master['date_to_process'].max().date()  # Converti in date
yesterday = (datetime.now() - timedelta(days=1)).date()  # Converti in date
date_range = pd.date_range(start=max_date + timedelta(days=1), end=yesterday, freq='D').date

# Creare un nuovo dataframe per le date mancanti
missing_dates_df = pd.DataFrame({
    'date_to_process': date_range,
    'date_processed': None,
    'n_rows': None,
    'execution_time': None
})

# Appendi il nuovo dataframe al dataframe originale
visit_master = visit_master.append(missing_dates_df, ignore_index=True)

# 2. Elimina le righe dove date_to_process è più vecchio di 211 giorni da oggi
cut_off_date = (datetime.now() - timedelta(days=211)).date()  # Converti in date
visit_master = visit_master[visit_master['date_to_process'] >= cut_off_date]

# 3. Ordinare per date_to_process descending
visit_master = visit_master.sort_values(by="date_to_process", ascending=False)