我正在学习数据框架并尝试不同的图形。我有一个视频游戏数据集,正在尝试绘制一个图表,该图表在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


请告知我如何在一张图中绘制所有类型的图表。谢谢。

最佳答案

在pandas图中,索引将被绘制为x轴,并且每一列都将分别绘制,因此您只需要将系列转换为以Genre为列的数据框即可:

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


python - 使用数据框分组显示折线图-LMLPHP

关于python - 使用数据框分组显示折线图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42355551/

10-13 04:06
查看更多