{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "### start to get data PK504B10100004410 from 2021-06-29 00:00:00 to 2021-06-30 00:00:00\n", "# get data from 2021-06-29 00:00:00 to 2021-06-30 00:00:00......... \n", "Server Error, retry 1...... \n", "all data-getting done, bms_count is 4052, gps_count is 1676, system_count is 86, accum_count is 511 \n", "\n" ] } ], "source": [ "# 获取数据\r\n", "import sys\r\n", "import CONFIGURE.PathSetting as PathSetting\r\n", "sys.path.append(PathSetting.backend_path)\r\n", "import DBManager\r\n", "\r\n", "sn = \"PK504B10100004410\"\r\n", "start_time = \"2021-06-29 00:00:00\"\r\n", "end_time = \"2021-06-30 00:00:00\"\r\n", "\r\n", "dbManager = DBManager.DBManager()\r\n", "df_data = dbManager.get_data(sn=sn, start_time=start_time, end_time=end_time, data_groups=['bms', 'gps', 'accum', 'system'])\r\n", "# \r\n", "df_bms = df_data['bms']\r\n", "df_gps = df_data['gps']\r\n", "df_accum = df_data['accum']\r\n", "df_system = df_data['system']" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "downloading......\n", "### start to get data PK504B10100004410 from 2021-06-29 00:00:00 to 2021-06-30 00:00:00\n", "# get data from 2021-06-29 00:00:00 to 2021-06-30 00:00:00......... \n", "Server Error, retry 1...... \n", "all data-getting done, bms_count is 4052, gps_count is 1676, system_count is 86, accum_count is 511 \n", "\n", "downloading success!\n" ] } ], "source": [ "# 下载数据 \r\n", "import sys\r\n", "import CONFIGURE.PathSetting as PathSetting\r\n", "sys.path.append(PathSetting.backend_path)\r\n", "import Tools\r\n", "\r\n", "tools = Tools.Tools()\r\n", "write_path = r''\r\n", "sn = \"PK504B10100004410\"\r\n", "start_time = \"2021-06-29 00:00:00\"\r\n", "end_time = \"2021-06-30 00:00:00\"\r\n", "tools.data_download(write_path=write_path, sn=sn, start_time=start_time, end_time=end_time, data_groups=['bms', 'gps', 'accum', 'system'])" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 数据预处理\r\n", "import sys\r\n", "import CONFIGURE.PathSetting as PathSetting\r\n", "sys.path.append(PathSetting.backend_path)\r\n", "import DataPreProcess\r\n", "\r\n", "dataPrePro = DataPreProcess.DataPreProcess()\r\n", "# 时间完全相同的数据仅保留一行\r\n", "df_bms_pro, df_gps_pro = dataPrePro.time_filter(df_bms, df_gps)\r\n", "\r\n", "# bms数据按照电流和状态分段, 然后在状态分段内部,根据时间跳变继续分段(解决段内数据丢失)\r\n", "df_bms_pro = dataPrePro.data_split_by_status(df_bms_pro)\r\n", "df_bms_pro = dataPrePro.data_split_by_time(df_bms_pro)\r\n", "\r\n", "# bms数据将两次充电间的状态合并\r\n", "df_bms_pro = dataPrePro.combine_drive_stand(df_bms_pro)\r\n", "# bms 数据计算行车和充电开始前后的静置时间\r\n", "df_bms_pro = dataPrePro.cal_stand_time(df_bms_pro)\r\n", "# gps 数据可靠性判断, 并增加里程和速度至gps数据(根据未合并的数据段判断)\r\n", "df_bms_pro, df_gps_pro, res_record= dataPrePro.gps_data_judge(df_bms_pro, df_gps_pro)\r\n", "# gps 数据可靠性判断, 并增加里程和速度至gps数据(根据已合并的数据段判断)\r\n", "df_bms_pro, df_gps_pro, res_record= dataPrePro.data_gps_judge_after_combine(df_bms_pro, df_gps_pro)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wrote Tools.html\n" ] } ], "source": [ "# 生成pydoc 说明文档\r\n", "! python -m pydoc -w LIB\\BACKEND\\Tools.py" ] } ], "metadata": { "interpreter": { "hash": "82c48fa5b9935b41bc103dff27c1411e7645bc2453983fd386eae73200630fad" }, "kernelspec": { "display_name": "Python 3.7.6 64-bit ('MyQuant': conda)", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }