Построение линейного графика из серии 3 столбца: Matplotlib - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть df, которым я манипулировал, как показано ниже

genres = ['Adventure','Action','Thriller','Science Fiction','Comedy']

df_genre_sum = df_genre.groupby(['genre','release_year'])['revenue'].sum()[genres]

print(df_genre_sum)

Это дает мне что-то вроде:

img

Теперь, как я могу нарисовать график, на котором я вижу линейный сюжет со всеми жанрами в разных цветах с помощью

Ось X = Годы

Ось Y = Доход

Я новичок в matplotlib, я знаю, как рисовать график, когда у серии есть index и value, но у этой серии есть еще один уровень.

Обновление

{'Действие': {1984: 735328023.0, 1985: 152427960,0, 1987 год: 191185897,0, 1989: 962338821.0, 1990: 381293845,0, 1992 год: 14358033,0, 1993: 212954613.0, 1995 год: 418194034,0, 1996: 959696788.0, 1997: 967263794.0}, «Приключение»: {1984: 361744356.0, 1985: 533537722.0, 1987 год: 191185897,0, 1989: 1002823860.0, 1990: 244527783,0, 1992: 504050219.0, 1993: 1133054613.0, 1995 год: 418194034,0, 1996: 678894988.0, 1997: 922401607.0}, «Комедия»: {1984: 295212467.0, 1985: 381109762.0, 1987 год: 38119483,0, 1989: 372485039.0, 1990: 721212258,0, 1992: 518408252,0, 1993: 212954613.0, 1995: 390174654.0, 1996 год: 353602675,0, 1997: 680494326.0}, «Научная фантастика»: {1984: 402328023.0, 1985: 381109762.0, 1987 год: 38119483,0, 1989: 372485039.0, 1990: 244527583,0, 1992 год: 14358033,0, 1993: 1079155768.0, 1995: 73959291,0, 1996 год: 293648382,0, 1997: 760510868.0}, «Триллер»: {1984: 78371200.0, 1985: 152427960,0, 1987 год: 191185897,0, 1989: 156167015,0, 1990: 136766262,0, 1992: 658716349,0, 1993: 15668826.0, 1995 год: 710806752,0, 1996: 978717877.0, 1997: 2178045256.0}}

1 Ответ

0 голосов
/ 10 ноября 2018

Я полагаю, вам нужно сначала отфильтровать isin с boolean indexing, затем агрегировать sum и окончательно Series изменить на unstack:

df_genre_sum = (df_genre[df_genre['genre'].isin(genres)]
                 .groupby(['release_year', 'genre'])['revenue']
                 .sum()
                 .unstack())


df_genre_sum.plot()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...