Untitled
unknown
plain_text
2 years ago
896 B
6
Indexable
mobile_dataset['dt']=pd.to_datetime(mobile_dataset['event_time']).dt.date result_data=mobile_dataset.merge(mobile_sources[['user_id','source']],on='user_id',how='left') session_start = result_data.groupby(['user_id'])['dt'].min().reset_index() session_start.rename(columns = {'dt':'session_start'}, inplace = True ) result_data=result_data.merge(session_start) result_data['lifetime']=(result_data['dt']-result_data['session_start']).dt.days result_grouped=result_data.pivot_table(index=['dt'],columns='lifetime',values='user_id',aggfunc='nunique') cohort_sizes=(result_data.groupby('dt').agg({'user_id':'nunique'}).rename(columns={'user_id':'cohort_size'})) cohort_sizes result_grouped=cohort_sizes.merge(result_grouped,on='dt',how='left').fillna(0) result_grouped result_grouped=result_grouped.div(result_grouped['cohort_size'],axis=0).drop(columns=['cohort_size']) result_grouped
Editor is loading...