Python数据分析之使用pandas-datareader获取国家经济信息进行分析

1 篇文章 0 订阅
1 篇文章 0 订阅

pandas-datareader背景介绍

当熟悉了Pandas的两个主要数据结构:Series和DataFrame之后,我们就可以使用pandas-datareader进行金融财经数据的导入和初步分析了。pandas-datareader是基于Python的专门从一系列的公开在线数据库获取数据的工具库,该接口在urllib3库基础上实现了以客户端身份访问在线数据库的各类金融财经股票数据。

相关参考网站

官网

官方文档

GIT源码

安装

pandas-datareader可以使用标准的pip进行安装

pip install pandas-datareader

安装完成之后可以使用如下代码检查datareader是否工作正常

import pandas_datareader as pdr
pdr.get_data_fred('GS10')

使用pandas-datareader读取经济数据

pandas-datareader支持如下金融、财经各类在线数据库,这些数据库提供各类财经历史数据,有的数据库甚至提供实时数据。访问某些在线数据库需要APIKEY,比如Tiingo、IEX。

现在以Econdb为例展示如何从Econdb获取中国从2000到2019年的主要指标,进行数据分析。基础代码如下:

import os
import pandas_datareader as web
import pandas as gdp
import datetime as datetime

#设定经济指标为GDP,国家为中国
gdpquery =  'ticker=GDPCN'
#设定开始结束时间
start = datetime.datetime(2000,1,1)
end = datetime.datetime(2020,12,1)
#取得中国GDP数据
gdpcn = web.DataReader(gdpquery, 'econdb',start=start,end=end)

数据分析

数据分析之前要对数据进行归并整理,对数据进行验证

查看DataFrame数据前5行和尾部倒数5行

print(gdpcn)
Subcategory Gross Domestic Product, Current Quarter
TIME_PERIOD
2000-01-01                                    21330
2000-04-01                                    24043
2000-07-01                                    25712
2000-10-01                                    29194
2001-01-01                                    24086
...                                             ...
2019-07-01                                   252209
2019-10-01                                   278020
2020-01-01                                   206504
2020-04-01                                   250110
2020-07-01                                   266172

查看DataFrame数据索引和列名

print(gdpcn.index)
print(gdpcn.columns)

查看DataFrame数据的完整情况

print(gdpcn.info())

查看DataFrame数据的统计值

print(gdpcn.describe())

同样的方法取得美国GDP数据

gdpquery =  'ticker=GDPUS'
gdpus = web.DataReader(gdpquery, 'econdb',start=start,end=end)

可视化展示

得到两国GDP基础数据后,可以将两国GDP数据绘制趋势图进行对比,需要将两个gdp数据的dataframe复合到同一个data frame中,然后调用matplotlib进行绘图。

#处理gdp数据dataframe的columns名称
gdpcn.columns =['China PRC']
gdpus.columns = gdpus.columns.get_level_values(1)
#合并美国中国的GDP数据,on "TIME_PERIOD" column.
pd = pd.merge(gdpcn, gdpus, on='TIME_PERIOD')
pd.plot(grid=True)
plt.show()

后面可以使用pandas的to_csv方法将dataframe对象写入到文件中。

 

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值