2017-02-20 11 views
2

Я изучаю кадры данных и проверяю разные графики. У меня есть набор данных для видеоигр, и я пытаюсь построить график, который показывает годы по оси x, чистые продажи по оси y и график должен быть для жанра видеоигр. Я сгруппировал данные, но столкнулся с проблемами, отображающими его. Ниже то, что я пробовал:Отображение линейного графика с использованием группировки кадров данных

import pandas as pd 
%matplotlib inline 
from matplotlib.pyplot import hist 
df = pd.read_csv('VideoGames.csv') 
s = df.groupby(['Genre','Year_of_Release']).agg(sum)['Global_Sales'] 
print(s) 

Данные сгруппированы надлежащим образом, как показано ниже:

Genre  Year_of_Release 
Action 1980.0    0.34 
      1981.0    14.84 
      1982.0    6.52 
      1983.0    2.86 
      1984.0    1.85 
      1985.0    3.52 
      1986.0    13.74 
      1987.0    1.12 
      1988.0    1.75 
      1989.0    4.64 
      1990.0    6.39 
      1991.0    6.76 
      1992.0    3.83 
      1993.0    1.81 
      1994.0    1.55 
      1995.0    3.57 
      1996.0    20.58 
      1997.0    27.58 
      1998.0    39.44 
      1999.0    27.77 
      2000.0    34.04 
      2001.0    59.39 
      2002.0    86.76 
      2003.0    67.93 
      2004.0    76.25 
      2005.0    85.53 
      2006.0    66.13 
      2007.0    104.97 
      2008.0    135.01 
      2009.0    137.66 
           ... 
Sports 2013.0    41.23 
      2014.0    45.10 
      2015.0    40.90 
      2016.0    23.53 
Strategy 1991.0    0.94 
      1992.0    0.37 
      1993.0    0.81 
      1994.0    3.56 
      1995.0    6.51 
      1996.0    5.61 
      1997.0    7.71 
      1998.0    13.46 
      1999.0    18.45 
      2000.0    8.52 
      2001.0    7.55 
      2002.0    5.56 
      2003.0    7.99 
      2004.0    7.16 
      2005.0    5.31 
      2006.0    4.22 
      2007.0    9.26 
      2008.0    11.55 
      2009.0    12.36 
      2010.0    13.77 
      2011.0    8.84 
      2012.0    3.27 
      2013.0    6.09 
      2014.0    0.99 
      2015.0    1.84 
      2016.0    1.15 
Name: Global_Sales, dtype: float64 

Пожалуйста, посоветуйте, как я могу построить графики для всех жанра в одной диаграмме. Спасибо.

ответ

2

В панде участке, индекс будет построен в качестве оси х и каждый столбец строится отдельно, так что вам просто нужно превратить серию в кадр данных с Жанром в виде столбцов:

ax = s.unstack('Genre').plot(kind = "line") 

enter image description here

+0

Большое спасибо @Psidom! это сработало! Есть ли способ, по которому я могу увеличить размер с графика, как вы уже выше? Еще раз спасибо. –

+2

@GeraldBaretto, используйте параметр 'plot (..., figsize = (16,10))' – MaxU

Смежные вопросы