1) act_min_wage = pd.DataFrame()
создает пустой DataFrame
2) for name, group in df.groupby("State"):
df.groupby ("State") - группировать данные по столбцу "State" , поэтому в цикле
имя - уникальные значения столбца «Состояние»
группа - все строки из df , имеющие значение столбца "Состояние" , равное текущему имя
3)
if act_min_wage.empty:
act_min_wage = group.set_index("Year")[["Low.2018"]].rename(columns={"Low.2018":name})
Если новый фрейм данных act_min_wage пуст (только на первой итерации), поместите туда group и переименуйте столбец "Low.2018" в name (уникальные значения столбца "Состояние" из df )
4) * * 1 044
else:
act_min_wage = act_min_wage.join(group.set_index("Year")[["Low.2018"]].rename(columns={"Low.2018":name}))
Поскольку act_min_wage не является пустым, присоедините его к новым группам , основанным на значениях Year , по умолчанию его оставляют для присоединения.
Таким образом, если оператор использовался для замены пустого фрейма данных на группу на индекс "Год" .