df.columns = df.columns.str.split('_', expand=True)
df = df.stack().reset_index(level=0, drop=True).rename_axis('year'
    ).reset_index()
df.value = df.value.astype(int)
print(df)
how to gather DataFrame column into key value pairs as row in python