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

标签 python python-2.7 pandas dataframe graph

我正在学习数据框架并尝试不同的图表。我有一个视频游戏数据集,正在尝试绘制一个图表,该图表在 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 轴,每列单独绘制,因此您只需将系列转换为以 流派 作为列的数据框:

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

enter image description here

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

相关文章:

python - Plotly:如何为甘特图的 y 轴标签腾出更多空间

python - 动态选择从哪个子类继承方法?

python - Paramiko 上传文件成功但为空

python - 使用 MultiIndex 和 Time 进行子集化

python - concat : bug or intentional behavior? 后 Pandas None 到 NaN

python - 有没有办法为所有应用程序使用相同的 Docker 容器?

python - 如何获取日期属于特定月份的所有对象 SQLAlchemy

python - 如何在 Linux 上并行化 Python 程序

python - 重试python中脚本/程序停止的地方,记住变量值

python-2.7 - Pyomo 找不到 GLPK 求解器