Get the values related to max/min of a column in Pandas Dataframe

I have a few set of days where the index is based on 30min data from monday to friday. There might some missing dates (Might be because of holidays).
Below are the desired output

Below are the desired output

  1. Looking for last week (ie from 11th july 22 to 15th july 22) and get the low related to the 30min highest high. which occurred on 12-07-2022 09:15:00
  2. A new column which populates all the low for last week(30 min interval) with the values 369.2 (green in color) for this week and 370.05(Orange in color) for last week (Whose value is derived as low of the 30min highest high of week 4th july to 8th july)
  3. there might be missing dates (because of data unavailable) but still for the whole last week 30 min highest high is 376.25 and its corresponding low is 369.2 which needs to be populated for the this df[“Previous week corresponding low of the 30min highest high”]