# 类SQL方式 import pandas as pd df = pd.read_csv('nowcoder.csv',sep=',') df['date'] = pd.to_datetime(df['date']).dt.date df=df.sort_values(['user_id','date'],ascending=True).reset_index(drop=True).drop_duplicates(['user_id','date']) df['test'] = df.groupby('user_id')['date'].transform('shift') df['diff'] = df['date'] - df['test'] total = df.user_id.count() userid = df[df['diff'] == '1 days'].user_id.count() print(round(userid/total,2))