定量分析能力差的数据包!

DiffCapAnalyzer的Python项目详细描述


DiffCapAnalyzerBuild StatusPython status

电池循环数据可视化与分析软件包

该软件包旨在通过识别和参数化差异容量图中的峰值来定量分析原始循环数据。差分容量图(dQ/dV)对于揭示电池性能特征非常有效,因为这些图中出现的峰值对应于各种电化学事件。然而,由于在cycing实验中收集了大量的数据,许多研究人员报告了循环的子集和纯定性的结论。该软件包通过清理电池循环数据集并获得数据中每个充电/放电周期的峰值位置、宽度、振幅和其他描述符,增加了量化此类分析的能力。为此,该工具为数据集中的每个充电和放电周期开发了个性化的拟合模型,包括每个峰值位置的高斯基线和伪voigt分布。在

此外,还有一个基于破折号的可视化应用程序,可以用作用户界面。用户可以上传原始循环数据,通过MACCOR或Arbin循环器收集。然后,应用程序将处理这些数据并向数据库中添加一些文件:原始数据、清理后的数据和每个周期的峰值描述符。该应用程序还允许用户滚动浏览周期,更好地了解不同容量曲线。此外,还有一个部分来评估高斯基线的拟合,并定制峰值查找过程。用户还可以使用应用程序中的“下载CSV”文件按钮下载峰值描述符。在

此外,还进行了一些机器学习,以便在两种不同的阴极化学试剂LiCoO2和LiFePO4之间进行分类。这些化学反应的数据集是从加州大学的网站(https://web.calce.umd.edu/batteries/data.htm)获得的。一旦这些数据被清理和标记,一个20-80测试列分割和使用支持向量分类器,最终测试集的准确率为77%。在

软件依赖性

  • Python3
  • 对于python包,请参见要求.txt在

如何安装

要运行应用程序并充分利用DiffCapAnalyzer和相应的示例,只需从顶部目录克隆此repo an即可运行:

pip install -Ur requirements.txt

这将安装DiffCapAnalyzer所需的所有软件包。在

要在应用程序之外使用DiffCapAnalyzer,还可以pip安装:

^{pr2}$

这将安装DiffCapAnalyzer模块,以便在示例笔记本中使用,或用于在Dash应用程序之外使用核心模块。在

仪表板应用程序

要运行应用程序,请在终端中运行以下操作:

python app.py

它应该返回

 * Running on http://someurl/ (Press CTRL+C to quit)

在浏览器中键入或复制该URL以在本地启动应用程序。在

项目组织

|   app.py
|   LICENSE
|   README.md
|   requirements.txt
|   runTests
|   setup.py
|   __init__.py
|
+---data
|   +---ARBIN
|   |   |   README.md
|   |   |
|   |   +---CS2_33
|   |   |
|   |   \---K2_016
|   |
|   +---databases
|   |       dQdV.db
|   |       init_database.db
|   |
|   +---MACCOR
|   |       example_data.csv
|   |
|   \---ML_data
|           c_descriptors.xlsx
|           descriptors_without_heights.xlsx
|           final_descriptors.xlsx
|           k_descriptors.xlsx
|           svc_model.sav
|           svc_results.png
|
+---diffcapanalyzer
|       app_helper_functions.py
|       chachifuncs.py
|       databasefuncs.py
|       databasewrappers.py
|       descriptors.py
|       __init__.py
|
+---docs
|   |   Poster.pdf
|   |
|   +---images
|   |       diagram.png
|   |
|   \---paper
|       |   paper.md
|       |
|       \---images
|               cleaning_dqdv.png
|               fitting_dqdv.png
|
+---examples
|   |   ProcessData_PlotDescriptors_Examples.ipynb
|   |
|   \---ML
|           SVC_Model.ipynb
|
\---tests
    |   test_app_helper_functions.py
    |   test_chachifuncs.py
    |   test_databasefuncs.py
    |   test_databasewrappers.py
    |   test_descriptors.py
    |   __init__.py
    |
    \---test_data
            test_data.csv
            test_data_mac.csv

数据要求

目前,该包只能处理CSV文件,并且依赖于每种类型文件的特定列标题(Arbin vs.Maccor)。请参考data目录中的示例文件。每种数据类型的列标题必须包含以下内容,并且其显示方式必须与以下内容完全相同:

  • 阿宾:
    • 周期指数
    • 数据点
    • 电压(V)
    • 电流(A)
    • 放电容量(Ah)
    • 充电容量(Ah)
    • 台阶索引
  • MACCOR公司:
    • 回收
    • 循环C步骤
    • 测试时间
    • 步进时间
    • 帽子。[啊]
    • 电压[V]
    • 医学博士
    • 电流[A]

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像