12345678910111213141516171819202122232425262728293031323334353637383940 |
- from LIB.BACKEND import DBManager
- dbManager = DBManager.DBManager()
- from LIB.MIDDLE.CellStateEstimation.Common import log
- import pandas as pd
- import anomalyPCA
- dataSOH = pd.read_excel('sn-20210903.xlsx',sheet_name='格林美-CATL7255')
- fileNames = dataSOH['sn']
- fileNames = list(fileNames)
- l = len(fileNames)
- mylog=log.Mylog('log.txt','error')
- mylog.logcfg()
- for k in range(l):
- try:
- sn = fileNames[k]
- df_data = dbManager.get_data(sn=sn, start_time='2021-06-01 00:00:00', end_time='2021-10-01 00:00:00', data_groups=['bms'])
- data_train = df_data['bms']
- df_data = dbManager.get_data(sn=sn, start_time='2021-10-01 00:00:00', end_time='2021-11-01 00:00:00', data_groups=['bms'])
- data_test = df_data['bms']
- if len(data_train)>0:
- x_train=anomalyPCA.makedataset(data_train)
- x_train_pro=anomalyPCA.process(x_train)
- pca=anomalyPCA.anomalyPCA(x_train_pro)
- res=anomalyPCA.transform(x_train_pro,pca,x_train)
- res.to_csv('res'+sn+'.csv',encoding='gbk')
- if len(data_test)>0:
- x_test=anomalyPCA.makedataset(data_test)
- x_test_pro=anomalyPCA.process(x_test)
- pred=anomalyPCA.transform(x_test_pro,pca,x_test)
- pred.to_csv('pred'+sn+'.csv',encoding='gbk')
- outliers=anomalyPCA.detect_outliers(pred,threshold=0.95)
- outliers2=anomalyPCA.detect_outliers2(res,pred,threshold=36)
- outliers.to_csv('outliers'+sn+'.csv',encoding='gbk')
- outliers2.to_csv('outliers2'+sn+'.csv',encoding='gbk')
- except Exception as e:
- print(repr(e))
- mylog.logopt(sn,e)
- pass
|