pandas df怎么根据weekgroup补齐没有的行呢

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'})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容