Преобразование DataFrame

Имеется DataFrame следующего вида:

Дата фрейм

Необходимо привести его к этому виду:

Дата фрейм2

Пример таблицы

df = pd.DataFrame({'Year': ['1999','2000','2001','2002','2003'],
                           'Jan': ['13','10','12','14','16'],
                           'Feb': ['14','43','35','12','15'],
                           'Mar': ['16','23','23','21','44']})
print(df)

Ответы (2 шт):

Автор решения: MaxU
res = df.set_index(df.pop("Year").astype(str)).stack().reset_index(name="value")

res["Year"] = res.pop("level_1") + "-" + res["Year"]

результат:

In [277]: res
Out[277]: 
        Year value
0   Jan-1999    13
1   Feb-1999    14
2   Mar-1999    16
3   Jan-2000    10
4   Feb-2000    43
5   Mar-2000    23
6   Jan-2001    12
7   Feb-2001    35
8   Mar-2001    23
9   Jan-2002    14
10  Feb-2002    12
11  Mar-2002    21
12  Jan-2003    16
13  Feb-2003    15
14  Mar-2003    44
→ Ссылка