import pandas as pd a = pd.read_csv('nowcoder.csv', sep=',') a['date'] = pd.to_datetime(a['date']).dt.date a.drop_duplicates(subset=['user_id','date'],inplace=True) b = a.copy() b['date'] = b['date'] + pd.Timedelta(days=1) c = pd.merge(a,b,on=['date','user_id'],how='inner',suffixes=('_a','_b')) n1 = c['user_id'].count() n2 = a['user_id'].count() print(round(n1/n2,2))