Variance inflation factor

vif = pd.DataFrame()
vif["VIF"] = [variance_inflation_factor(variables.values, i) for i in range(variables.shape[1])]
vif["Features"] = variables.columns

Can someone explain to me the second line of code? Why do we use the range of first of column of ‘varaibles’?