采用:
#convert columns to datetimedf['Arrival'] = pd.to_datetime(df['Arrival'])df['Departure'] = pd.to_datetime(df['Departure'])#repeat rowsdf = df.loc[df.index.repeat(df['RoomNights'])]#group by index with transform for date rangesdf['RoomNight Date'] =(df.groupby(level=0)['Arrival'] .transform(lambda x: pd.date_range(start=x.iat[0], periods=len(x))))#unique default indexdf = df.reset_index(drop=True)print (df) Name Arrival Departure RoomNights RoomNight Date0 Trent Cotchin 2017-10-29 2017-11-024 2017-10-291 Trent Cotchin 2017-10-29 2017-11-024 2017-10-302 Trent Cotchin 2017-10-29 2017-11-024 2017-10-313 Trent Cotchin 2017-10-29 2017-11-024 2017-11-014 Dustin Martin 2017-11-01 2017-11-043 2017-11-015 Dustin Martin 2017-11-01 2017-11-043 2017-11-026 Dustin Martin 2017-11-01 2017-11-043 2017-11-037 Alex Rance 2017-11-02 2017-11-031 2017-11-02



