跳转到主要内容

一个用于与echemdb仓库交互的Python库

项目描述

Binder DOI

echemdb Python包可以与包含遵循echemdb元数据模式的电子化学数据的frictionless数据包数据库交互。此类数据库可以从echemdb.org上的数据或本地文件生成。

详细的安装说明、模块描述、高级使用示例(包括本地数据库创建)可在我们的文档中找到。

安装说明

从PyPI或conda安装echemdb的最新稳定版本。

pip install echemdb
conda install -c conda-forge echemdb

Python API

目前echemdb.org上显示的数据可以下载并存储在数据库中。

>>> from echemdb.cv.cv_database import CVDatabase
>>> db = Database()

对具有特定属性(例如,包含Pt作为工作电极材料)的条目进行数据库过滤,返回新的数据库。

>>> db_filtered = db.filter(lambda entry: entry.system.electrodes.working_electrode.material == 'Pt')

可以使用网站提供的标识符检索单个条目(例如,请参阅engstfeld_2018_polycrystalline_17743_f4b_1

>>> entry = db['engstfeld_2018_polycrystalline_17743_f4b_1']

每个条目都有一组描述符,例如其source或电化学system

>>> entry.source # or entry['source']
{'citation key': 'engstfeld_2018_polycrystalline_17743', 'curve': 1, 'url': 'https://doi.org/10.1002/chem.201803418', 'figure': '4b', 'version': 1}

条目相关的数据可以作为一个pandas数据框返回(值以SI单位提供)。

>>> entry.df
           t	        E	       j
0	0.000000	-0.196962	0.043009
1	0.011368	-0.196393	0.051408
...

可以通过调整条目来以自定义或原始图轴的单位返回数据框。

>>> entry.rescale({'E' : 'mV', 'j' : 'uA / m2'}).df
          t           E             j
0  0.000000 -196.961730  43008.842162
1  0.011368 -196.393321  51408.199892
...
>>> entry.rescale('original').df
          t         E         j
0  0.000000 -0.196962  4.300884
1  0.011368 -0.196393  5.140820
...

单位和参考电极可以在资源模式中找到。单位在调整条目时更新。

>>> entry.package.get_resource('echemdb')['schema']
{'fields':
[{'name': 't', 'unit': 's', 'type': 'number'},
{'name': 'E', 'unit': 'V', 'reference': 'RHE', 'type': 'number'},
{'name': 'j', 'unit': 'A / m2', 'type': 'number'}]}

数据可以在plotly图表中可视化

>>> entry.plot()

许可证

本仓库的内容受GNU通用公共许可证v3.0或您选择的任何后续版本的许可。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

echemdb-0.6.0.tar.gz (27.4 kB 查看哈希值)

上传时间:

构建分布

echemdb-0.6.0-py3-none-any.whl (33.1 kB 查看哈希值)

上传时间: Python 3

由以下组织支持