try
pd.Dataframe.melt
df = pd.melt(df2, id_vars='person_id', var_name='col', value_name='dates')df['col2'] = df['col'].str.split("_").str[0]df['count'] = df.groupby(['col2'])['dates'].transform(pd.Series.count)df = df[df['count'] != 0]df.drop(['col2', 'count'], axis=1, inplace=True)print(df) person_id col dates01 H1_date 2006-10-30 00:00:0011 H1 2.321 H2_date 2016-10-30 00:00:0031 H2 12.341 H3_date 2026-11-30 00:00:0051 H3 22.361 H4_date 2106-10-30 00:00:0071 H4 42.310 1 H6_date 2006-10-30 00:00:0011 1 H6 2.312 1 H7_date NaN13 1 H7 2.314 1 H8_date 2006-10-30 00:00:0015 1 H8 NaN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)