Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def aggregate_per_customer_over_time_period(df
- , end_date = '2018-03-02'
- , nr_days_back = 30
- , cust_col_name = 'CustomerNumber'
- , date_col_name='Date'
- , variable_col_name = 'DisputeExists'
- , agg_func = np.mean
- ):
- from datetime import datetime, timedelta
- df[date_col_name] = df[date_col_name].astype(str)
- start_date = str(datetime.strptime(end_date,"%Y-%m-%d")-timedelta(days=nr_days_back))[:10]
- df = df[(df[date_col_name]<end_date) & (df[date_col_name]>=start_date)]
- df = df.groupby(cust_col_name).agg(agg_func)[variable_col_name].reset_index()
- df['AnchorDate'] = end_date
- return df
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement