Преобразование DataFrame
Имеется DataFrame следующего вида:
Необходимо привести его к этому виду:
Пример таблицы
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 шт):
Автор решения: Иван
→ Ссылка
Попробуй использовать Pivot. Ссылка https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot.html
Автор решения: 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

