Python Pandas绘制序列的Matplotlib。

3

我正试图使用以下Python Pandas信息创建一条折线图:索引是日期/周期,'student'是每个周期访问的学生数量,而'region'则是学生来自的地区。理想情况下,我希望y轴上显示学生人数,x轴上显示日期,而每个地区都有不同的颜色或至少与每个地区相关联的不同线条:

Year    Region    Student
2013    North     1
2013    South     2
2013    East      5
2014    North     3
2014    South     7
2014    East      10

我发现很难找到可以利用数据框系列的例子(即,而不必显式地列出每个元素,而是将索引作为x轴或学生作为y轴),这让我感到困惑。

1个回答

2

在使用groupbyRegion对数据进行分组后,您可以通过迭代每个组并绘制它们来实现。以下是一个基本的代码框架,供您构建:

for region, data in df.groupby('Region'):
    plt.plot(data['Year'], data['Student'], label=region)

plt.xlabel('Year')
plt.ylabel('Number of Students')
plt.legend()
plt.show()

enter image description here


嗨Sacul,虽然这可能是一个糟糕的例子,但是否有一种方法可以将此图表转换为基于地区和该地区的学生总数之和的饼图? - John
那是完全不同的问题。我建议您提出一个新问题,并具体说明您希望饼图的外观如何。但是您可以查看https://matplotlib.org/api/_as_gen/matplotlib.pyplot.pie.html,这可能足以让您适应上面的代码。 - sacuL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接