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

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广播接收器未检测到按键事件   java不为特定列更改创建修订   java采用了更实用的方法   java桌面窗格HTML呈现   java处理internet连接丢失   java在调整JFrame的大小时,如何防止JTable的列调整大小?   如何用Java中的“Scanner.hasNext”完成程序   具有模块名称的java停止IntelliJ项目工具窗口?   执行已编译的Rails-Warbler JAR文件时发生java加载错误   java Spring数据redis存储库不支持集合查询?   每个客户端的java队列请求   获取Java中的JSON嵌套数组元素   java GWT,Vaadin ConcurrentModificationException   firebase存储中的java在保存照片之前,我需要发送两次照片   JavaSpringEleaf如何在容器外使用变量