要在gdx(gams数据)和pandas之间转换的python包。

gdxpds的Python项目详细描述


gdx pandas:在gdx(gams数据)和pandas之间转换的python包。

使用

使用gdxpd有两种主要方法。第一个用例是最初支持的
:磁盘上的gdx文件与pandas
数据帧或csv版本之间的直接转换。版本1.0.0重写为第二种使用方式,即,通过
`gdxpds.gdx.gdxfile`和`gdxpds.gdx.gdx symbol`类与gdx文件和符号交互。


use--direct conversion


direct conversion实用程序的两个主要参考点是磁盘上的gdx
文件和python中的{symbol_name:dataframe},其中
每个pandas.dataframe包含单个集合、参数、方程式或
变量的数据。对于集合和参数,dataframe的最后一列假定
包含元素的值,集合的值应为'true',对于
参数应为'float'(或'gdxpds.gdx.numpy特殊值')。

`gdxpds.gdx.gamsvaluetype`中所述,方程和变量有额外的"值"列,特别是级别、
边缘值、下限、上限和刻度。假设这些值都出现在数据帧的最后五列中,另请参见"gdxpds.gdx.gams_value_cols_map"。

dataframes.items()中的数据框:
print("使用{}."格式(符号名称))


反之亦然:


import gdxpds

='c:\ path_to_my_output_gdx\data_to_send_to_gams.gdx'
gdx=gdxpds.to_gdx(data_ready_for_gams,gdx_file)

注意,提供gdx_文件是可选的,返回的gdx是
类型为"gdxpds.gdx.gdxfile"的对象。


该包还包括用于在gdx和
csv:gdx_到_csv.py和csv_到_gdx.py之间转换的命令行实用程序。

use--backend classes

通过直接使用"gdxpds.gdx"中现在可用的后端类
实现。要复制上面所示的gdx read
功能,可以写入:

import gdxpds

gdx file='c:\ path_to_my_gdx\data.gdx'
gdxpds.gdx.gdx file(lazy_load=false)为f:
f.read(gdx_file)
for symbol in f:
symbol_name=symbol.name
df=symbol.dataframe
print("使用{}:{}.format(symbol_name,df.head()))

后端特别提供了以gdx格式创建新数据的更多控制。
例如:


dims=['u'])
data=pds.dataframe(['u'+str(i)]for i in range(1,11)])
data['value']=true
gdx[-1].dataframe=data
dims=['u'])
data=pds.dataframe([[u'+str(i),i*100]表示i在范围(1,11)内),
columns=(gdx[-1].dims+gdx[-1].value\col\u names))
gdx[-1].dataframe=data
gdx.write(out\u file)


dependencies

-python 2.6或更高版本2.x;python3.4或更高的3.x
-熊猫(一般来说,您需要的是scipy堆栈。anaconda附带了它,或者参见[我的windows笔记](http://elainethale.wordpress.com/programming notes/python environment set up/)
-对于python版本<;3.4,enum34。同时**卸载枚举包**(如果已安装)。
-psutil(可选--用于监视内存使用)
-pytest(可选--用于运行测试)
-gams python绑定
-请参阅Windows上的gams/win64/x x.x/apifiles/readme.txt,Mac上的gams/gamsxx.x撸osx撸u64撸sfx/apifiles/readme.txt,或在Linux上运行
/opt/gams/gams x x.x_Linux_x64_64_SFX/apifiles/readme.txt
-运行以下命令以获得正确版本的Python绑定





-对于其他版本的python,特别是3.x,使用
…/apifiles/python/api_xx/setup.py。特别是对于python 3.x,您将需要gams版本>;=24.5.1(python3.4,windows和linux)、
24.7.4(python3.4,mac os x)或>;=24.8.4(python3.6)



testing

安装后,您可以使用pytest测试包:


如果由于权限ioerrors导致测试失败,请将"chmod g+x"和"chmod a+x"应用到"gdx pandas/gdxpds/test"文件夹。

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

推荐PyPI第三方库


热门话题
返回数组无效的java方法   异步Java CompletableFuture获取其请求   java是否可以像RDBMS那样使用视图?   java如何在屏幕上只运行一个片段?   java无法从Vertex jdbc查询中获取结果   java从jtable获取对象的正确方法   java Spring 3数据设备替代方案   Java BigDecimal:四舍五入到客户首选的数字和增量   JAVA主窗口没有出现,我必须左键单击主窗口。java并单击run查看它   Eclipse RCP中的java进程自定义设备事件   JavaEclipse一次又一次地构建代码(没有任何更改)?   java如何实现对象合并