Expanding pandas data frame with date range in columns

后端 未结 3 1703
Happy的楠姐
Happy的楠姐 2020-12-01 16:44

I have a pandas dataframe with dates and strings similar to this:

Start        End           Note    Item
2016-10-22   2016-11-05    Z       A
2017-02-11   2         


        
3条回答
  •  离开以前
    2020-12-01 16:54

    You can iterate over each row and create a new dataframe and then concatenate them together

    pd.concat([pd.DataFrame({'Start': pd.date_range(row.Start, row.End, freq='W-SAT'),
                   'Note': row.Note,
                   'Item': row.Item}, columns=['Start', 'Note', 'Item']) 
               for i, row in df.iterrows()], ignore_index=True)
    
           Start Note Item
    0 2016-10-22    Z    A
    1 2016-10-29    Z    A
    2 2016-11-05    Z    A
    3 2017-02-11    W    B
    4 2017-02-18    W    B
    5 2017-02-25    W    B
    

提交回复
热议问题