df怎么根据weekgroup补齐没有的行呢
设想weekgroup 是0 1 2 3 4 --weekmax
比如下图pid=297157的时候补8 9 11 13 15 14 16 ....
image.png
import pandas as pd
df1 = pd.DataFrame({'pid':[23423,23423,76158,76158], \
'weekgroup':[0,1,2,1], \
'weekmin':[0,0,0,0], \
'weekmax':[3,3,4,4], \
})
df1['weekgroup1'] = df1.apply(lambda x: ','.join([str(x) for x in range(x['weekmin'],x['weekmax']+1)]),axis=1)
df_week_group = df1['weekgroup1'].str.split(',',expand=True).stack().reset_index()
df_result = pd.merge(df1,df_week_group,left_index=True,right_on='level_0')[['pid','weekmin','weekmax',0]] \
.rename(columns={0:'weekgroup'})