跳转到主要内容

一个用于与一系列无摩擦数据包交互的Python库

项目描述

Binder DOI

此模块提供了一个Python库,用于与一系列无摩擦数据包交互。此类数据包由一个CSV(数据)文件组成,该文件通过一个JSON文件进行注释。这允许存储额外的信息,例如CSV列中使用的单位或存储描述底层数据的元数据。示例数据包可以在此处找到,而JSON的结构可能如下所示

{
    "resources": [
        {
            "name": "demo_package",
            "type": "table",
            "path": "demo_package.csv",
            "scheme": "file",
            "format": "csv",
            "mediatype": "text/csv",
            "encoding": "utf-8",
            "schema": {
                "fields": [
                    {
                        "name": "t",
                        "type": "number",
                        "unit": "s"
                    },
                    {
                        "name": "j",
                        "type": "number",
                        "unit": "A / m2"
                    }
                ]
            },
            "metadata": {
                "echemdb": {
                    "description": "Sample data for the unitpackage module.",
                    "curation": {
                        "process": [
                            {
                                "role": "experimentalist",
                                "name": "John Doe",
                                "laboratory": "Institute of Good Scientific Practice",
                                "date": "2021-07-09"
                            }
                        ]
                    }
                }
            }
        }
    ]
}

集合中资源条目的元数据可以通过Python API访问。

>>> from unitpackage.collection import Collection
>>> db = Collection.from_local('./doc/files')
>>> entry = db['demo_package_cv']
>>> entry.description
'Sample data for the unitpackage module.'

还可以从API中绘制简单的2D图表。

>>> entry.plot()

最终,unitpackage允许在资源内部将数据转换为不同的单位。

>>> entry.get_unit('j')
'A / m2'
>>> 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
...

可以创建特定测量类型的数据包集合,这提供了对元数据的额外访问性或简化了在常用绘图类型中此类数据的表示。此类集合的一个示例可以在echemdb.org上找到,该网站显示了遵循echemdb的元数据模式进行注释的循环伏安法数据,该数据可以存储在CVCollection中,并从echemdb数据存储库中检索。

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

安装说明

此软件包可在PyPI上获得,并可以使用pip进行安装

pip install unitpackage

该软件包还可在conda-forge上获得,并可以使用conda进行安装

conda install -c conda-forge unitpackage

或mamba

mamba install -c conda-forge unitpackage

有关更详细的安装说明,请参阅我们的文档

许可证

此存储库的内容根据GNU通用公共许可证v3.0或,根据您的选择,任何后续版本进行许可。

项目详情


下载文件

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

源分发

unitpackage-0.8.4.tar.gz (31.1 kB 查看哈希值)

上传时间

构建分发

unitpackage-0.8.4-py3-none-any.whl (36.7 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面