Я пытаюсь создать диаграмму областей с накоплением, показывающую эволюцию курсов и их количество с течением времени. Поэтому мой фрейм данных (индекс = год):
Area Courses
Year
1900 Agriculture 0.0
1900 Architecture 32.0
1900 Astronomy 10.0
1900 Biology 20.0
1900 Chemistry 25.0
1900 Civil Engineering 21.0
1900 Education 14.0
1900 Engineering Design 10.0
1900 English 30.0
1900 Geography 1.0
В прошлом году: 2011.
Я пробовал несколько решений, таких как df.plot.area (), df.plot. площадь (х = 'лет'). Тогда я подумал, что было бы полезно иметь Области в качестве столбцов, поэтому я попытался
df.pivot_table(index = 'Year', columns = 'Area', values = 'Courses', aggfunc = 'sum')
, но вместо того, чтобы получать сумму курсов в год, я получил:
Area Aeronautical Engineering ... Visual Design
Year ...
1900 NaN ... NaN
1901 NaN ... NaN
Спасибо за вашу помощь , Это мой первый пост. Извините, если я что-то пропустил.
Обновление. Вот мой код:
df = pd.read_csv(filepath, encoding= 'unicode_escape')
df = df.groupby(['Year','GenArea'])['Taught'].sum().to_frame(name = 'Courses').reset_index()
plt.stackplot(df['Year'], df['Courses'], labels = df['GenArea'])
plt.legend(loc='upper left')
plt.show()
А вот ссылка на набор данных: https://data.world/makeovermonday/2020w12