Сначала необходимо преобразовать 'Data'
в формат даты и времени.
df['Data'] = pd.to_datetime(df['Data'])
А затем получить разницу между днями:
df[['Cust','Data']].groupby(['Cust']).diff()
Data
0 NaT
1 31 days
2 NaT
3 NaT
4 18 days
5 122 days
Чтобы удалить NaT (NaN даты и времени), выможно либо уронить их (df.dropna()
), либо заполнить их (df.fillna(0)
).