内容提要
- 项目分析
- 项目实战
一、项目分析
1、问题提出
我们拿到一大堆关于GDP的数据,如何从这些表面看起来杂乱无章的数据中解读出一些有价值的信息呢?
显然,如果能将这些数据以图形的方式展现出来,例如将这些数据值随时间(或另一个变量)而变化的关系在图上绘制出来,那将是一件非常令人惬意的事情,能直观地帮助我们更深入洞悉数据后面可能隐藏的一些有用的信息。
因此,我们需要找到一种简单而有效的方法来绘制这样的图形,去了解数据的变化趋势。
折线图正是这样一种工具,它能较好地展现均匀分布的一系列数据,来显示数据的变化趋势。
2、解决方案
由于GDP数据保存在GDP.csv文件中,因此首先需要利用pandas库将这些数据读取出来,pandos库读取数据非常简单高效,返回相当于矩阵类型的数据,但允许数据不仅限于数字类型,能较好满足GDP.csv文件中存在字符串类型的季度数据。
然后将读取的数据框作为图形函数的数据源,调用seaborn库的折线图函数绘制出GDP随季度变化的趋势,即完成数据的图形显示。
本案例问题的解决方案如下图所示。
三、项目实战
1、预备知识
Seaborn库中有大量的绘图函数,其中relplot函数用于可视化统计量间的关系,该函数的可以参数如下表所示。
2、读取文件数据并观察数据结构
利用pandas库来读取csv类型文件数据,存放在数据框变量中,代码如下。
1 import pandas as pd2 import matplotlib.pyplot as plt3 import seaborn as sns4 GDP_data=pd.read_csv("./data/GDP.csv")
代码行4中的数据框变量GDP_data保存从文件中读取的数据,内容如图所示。
3、绘制GDP的折线图
使用seaborn库的relplot函数来绘制折线图,具体代码如下所示。
1 sns.set(style="whitegrid",font="simhei",font_scale=0.7)
2 GDP_data['quarter']=GDP_data['quarter'].astype(str)
3 g=sns.relplot(x="quarter",y="secondary industry",kind="line",data=GDP_data)
4 g.fig.set_size_inches(8,4)
5 plt.show()
代码行1指定绘图样式,代码行2将数据框中的列quarter重置为字符串类型。
代码行3绘制折线图,x轴数据是数据框GDP_data 中的“quarter”列,y轴数据是“secondary industry”列,图形样式是线图“line”。
代码行4指定图形的大小是8×4英寸。这样,我们就用短短几行代码绘制出GDP随季度变化的趋势图。
代码执行结果如图所示。
由图可以清晰看到,每年的第二产业GDP呈现逐年上升的趋势,且在每年的第1到第2季度涨幅较快,而第2到第3季度增长比较平缓,其中的原因值得经济、市场等相关领域专家深入探究。
更多精彩内容请关注本站!