> For any answer, I assume below:
> 
> -  Data frame has single row for each date in the past years


Set `Date` as index for the dataframe

    df_dateInx = df.set_index('Date')

Now you can get a row for particular date using below code

    df_row = df_dateInx.loc['2018-07-15']

Add a new column to dataframe 'ChangePercent' in the last

    #df_dateInx.insert(inx_whr_col_to_insert, name_of_col)
    df_dateInx.insert(df_row.shape[1], 'ChangePercent', True)

Create a function to calculate the different w.r.t. value the year before at the same day and month. This function would be invoked on each row of data frame

    def calChange(row):
       change = 0
       val_prev_yr = df_dateInx.loc[row.Date - 1]['min']
       val_this_row = row['min']
       # do anything with values and return change
       return change

P.S. `row.Date - 1` use date/time strptime function to do this

Invoke above function on each row of data frame

    df_dateInx.agg([calChange])

And you would get a dataframe which has values populated in Change column as per your needs