dts = pd.date_range(start='2015-01-15', periods=20)
users = ['a', 'b'] * 10
df = pd.DataFrame({'user': users, 'timestamp': dts})
date_info = df.groupby('user').agg({'timestamp': [min, max]})
date_info.columns = date_info.columns.droplevel()
since_incept = lambda x: x - x.min()
df['days'] = df.groupby('user').transform(since_incept)
df['days'] = df['days'].dt.days
median_td = lambda x: pd.Timedelta(pd.Series.median(x), 'D')
med = df.groupby('user').agg({'days': [median_td]})
date_info['median'] = date_info['min'] + med.loc[:, ('days', '<lambda>')]
Get date quantiles in pandas