Python客户机将IMF WEO数据集读取为数据帧

weo的Python项目详细描述


weo阅读器

Python 3.7

这是一个第三方Python客户机,用于下载IMF World Economic Outlook Report数据集并将其用作pandas数据帧。在

您可以按年份和月份下载WEO releases,并浏览数据集。在

安装

该程序使用python3.7。要将weo作为python包安装,请使用:

pip install weo

开始使用

下载

在使用之前,您需要将数据保存为本地文件。从国际货币基金组织网站下载世界经济组织国家数据文件,如下所示:

fromweoimportdownloaddownload("2019-Oct",path='weo.csv',overwrite=True)

可用日期

您可以使用此客户端访问从2007-Oct开始的WEO发行版。WEO通常在4月和10月发布,一个例外是2011-Sep。在

June 2020中更新了GDP数据,但文件结构与常规版本不兼容。在

有效日期格式为:

  • 2020-042020-Apr2020-April(4月发布)

  • 2019-102019-Oct2019-October(10月发布)。在

查看特定年份的所有可用日期或日期:

^{pr2}$

玩数据

使用WEO类来查看和提取数据。WEO是pandas数据帧的包装器,确保正确的数据导入和更容易的数据访问/切片。在

尝试以下代码:

fromweoimportWEOw=WEO("weo.csv")

里面有什么变量和测量值?在

# variable listingw.variables()# unitsw.units()w.units("Gross domestic product, current prices")# variable codesw.codesw.from_code("LUR")# countriesw.countries("United")# Dataframe with United Arab Emirates, United Kingdom# and United Statesw.iso_code3("Netherlands")# 'NLD'

查看一些数据:

w.get("General government gross debt","Percent of GDP")w.getc("NGDP_RPCH")w.country("DEU",2018)

绘制2024年最大经济体的图表(当前价格):

(w.gdp_usd(2024).dropna().sort_values().tail(12).plot.barh(title="GDP by country, USD bln (2024)"))

备选方案

  1. 如果你需要最新的数据而不是WEO版本的年份,你知道吗

您要查找的变量,dbnomics是一个不错的选择:

小例子:

fromdbnomicsimportfetch_series_by_api_linkts1=fetch_series_by_api_link("https://api.db.nomics.world/v22/""series/IMF/WEO/DEU.NGDPRPC""?observations=1")
  1. 类似的数据集,自2018年以来没有更新,但有更早的年份:https://github.com/datasets/imf-weo

开发说明

  • 您可以使用curl命令在命令行中下载WEO文件:

curl -o weo.csv https://www.imf.org/external/pubs/ft/weo/2019/02/weodata/WEOOct2019all.xls

  • 来自网站的WEOOct2019all.xls实际上是一个CSV文件,而不是Excel文件。在

  • 无法使用此客户端获取June 2020 GDP update,因为更新具有不同的表结构。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何加载JNI。具有依赖项的动态库文件,但未获得未满足的链接错误?   java ResultSet元数据未返回第一行   无法从java xml解析器中的当前节点获取节点列表   java如何从for循环值创建单个数组   java如何在没有arrayList的情况下查找对象   java ItemizedOverlayWithFocus在聚焦osmdroid时显示另一个覆盖   java使用迭代器进行“向下”迭代的优雅方式   java如何使用OnListItemClick为listview和AlertDialog使用单独的arraylist?   arraylist读取txt文件Java中存储的数组   javascript IE 11与RicoLive Grid 2.2框架不兼容   java我能得到水豚的maven依赖性吗?   简单Escp Java:PrintPreviewPane在JDK7中不起作用   java取出给定字符串的一部分,并将所取部分作为变量返回?   java如何替换“instanceof”函数中的变量   来自url的Java utf8编码   java方法获取类Gregorianalendar?   安卓如何在java 7中使用AndroidStudio和DDMS监视器   java测试在JUnit4下运行,但不是在JUnit5下运行-编译干净,但执行0测试   java无法使用Azure服务总线发送消息