json - 如何使用 pandasmdx 从澳大利亚统计局获取数据
问题描述
有没有人使用 pandasmsdx 库获得 ABS 数据?
这是从正在运行的欧洲中央银行 (ECB) 获取数据的代码。
from pandasdmx import Request
ecb = Request('ECB')
flow_response = ecb.dataflow()
print(flow_response.write().dataflow.head())
exr_flow = ecb.dataflow('EXR')
dsd = exr_flow.dataflow.EXR.structure()
data_response = ecb.data(resource_id='EXR', key={'CURRENCY': ['USD', 'JPY']}, params={'startPeriod': '2016'})
但是,当我更改Request('ECB')
为时Request('ABS')
,第二行中的错误弹出窗口说,
“{ValueError}这个机构只支持数据请求,不支持数据流。”
有没有办法从 ABS 获取数据?
pandasdmx 的文档:https ://pandasdmx.readthedocs.io/en/stable/usage.html#basic-usage
解决方案
希望这会有所帮助
from pandasdmx import Request
Agency_Code = 'ABS'
Dataset_Id = 'ATSI_BIRTHS_SUMM'
ABS = Request(Agency_Code)
data_response = ABS.data(resource_id='ATSI_BIRTHS_SUMM', params={'startPeriod': '2016'})
#This will result into a stacked DataFrame
df = data_response.write(data_response.data.series, parse_time=False)
#A flat DataFrame
data_response.write().unstack().reset_index()
澳大利亚统计局 (ABS) 只支持他们的 SDMX-JSON API,他们不会像其他人一样发送 SDMX-ML 消息。这就是它不支持数据流功能的原因。
请阅读以供进一步参考:https ://pandasdmx.readthedocs.io/en/stable/agencies.html#pre-configured-data-providers
推荐阅读
- java - 有效括号 Java
- mongodb - Mongodb 查询没有返回任何内容
- java - 如何在无向图中创建相邻节点的 ArrayList 以协调节点?
- c - 无法跳出 C 中的 for 循环
- javascript - 加载带有 *ngIf 的微调器在函数执行期间未显示
- c++ - 将字符数组设置为彼此相等的方法不起作用
- arrays - 如何在没有`each``map`或`collect`方法的情况下用while对ruby中的数字数组进行平方?
- unity3d - Unity——粒子系统材质是这样的?
- xml - 是否可以从 XMl 中获取具有最低值的单个元素?
- asp.net - 如何在 Typescript 中引用本机 ASP 控件?