Browse Source

coreV0 0729

zhuxi 2 years ago
parent
commit
1c0fc2056f
1 changed files with 16 additions and 25 deletions
  1. 16 25
      LIB/MIDDLE/InfoChrgDrive/Charge/V1_0_0/coreV0.py

+ 16 - 25
LIB/MIDDLE/InfoChrgDrive/Charge/V1_0_0/coreV0.py

@@ -288,31 +288,18 @@ def chrgst_time(data_split):   #重新计算前后闲置时长
 
 def chrgdr(data_split):   #根据充电信息结果合并相连同状态
     chrg=pd.DataFrame()
-    if len(data_split)>3:
-        if (data_split.loc[0,'data_status']=='charge')  & (data_split.loc[2,'data_status']=='stand'):
-            chrg=chrg.append(data_split.iloc[:4]) 
-        elif (data_split.loc[0,'data_status']=='charge') & (data_split.loc[2,'data_status']=='drive'):
-            chrg=chrg.append(data_split.iloc[:2]) 
-  
-        if (data_split.loc[len(data_split)-2,'data_status']=='charge') & (data_split.loc[len(data_split)-3,'data_status']=='stand'):
-            chrg=chrg.append(data_split.iloc[len(data_split)-4:]) 
-        elif (data_split.loc[len(data_split)-2,'data_status']=='charge') & (data_split.loc[len(data_split)-3,'data_status']=='drive'):
-            chrg=chrg.append(data_split.iloc[len(data_split)-2:]) 
-
-        if len(data_split)>5:
-            for k in range(2,len(data_split)-2):
-                if (data_split.loc[k,'data_status']=='charge') & (data_split.loc[k-1,'data_status']=='stand') & (data_split.loc[k+2,'data_status']=='stand'):
-                    chrg=chrg.append(data_split.iloc[k-2:k+4]) 
-                elif (data_split.loc[k,'data_status']=='charge') & (data_split.loc[k-1,'data_status']=='drive') & (data_split.loc[k+2,'data_status']=='stand'):
-                    chrg=chrg.append(data_split.iloc[k:k+4]) 
-                elif (data_split.loc[k,'data_status']=='charge') & (data_split.loc[k-1,'data_status']=='drive') & (data_split.loc[k+2,'data_status']=='drive'):
-                    chrg=chrg.append(data_split.iloc[k:k+2]) 
-                elif (data_split.loc[k,'data_status']=='charge') & (data_split.loc[k-1,'data_status']=='stand') & (data_split.loc[k+2,'data_status']=='drive'):
-                    chrg=chrg.append(data_split.iloc[k-2:k+2])        
-    else:
-        if data_split.loc[0,'data_status'] in ['charge','stand']:
-            chrg=chrg.append(data_split.iloc[:2]) 
+    if data_split.loc[0,'data_status']=='charge':
+        chrg=chrg.append(data_split.iloc[k]) 
 
+    for k in range(1,len(data_split)-1):
+        if data_split.loc[k,'data_status']=='charge':
+            if data_split.loc[k-1,'data_status']=='stand':
+                chrg=chrg.append(data_split.iloc[k-2:k+1]) 
+            else: 
+                chrg=chrg.append(data_split.iloc[k]) 
+        if data_split.loc[k,'data_status']=='stand':
+            if data_split.loc[k-1,'data_status']=='charge':
+                chrg=chrg.append(data_split.iloc[k:k+2])    
     return chrg
 
 def makedf_chrgdr(df_splice_chrg,data_new):   #每个status取所有时间戳的数据
@@ -392,8 +379,11 @@ def sep_chrg_dr(df_merge,sn,gpscity):
     data_sta=city(data_new,gpscity)
     data_sta=data_sta.reset_index(drop=True)
     data_sta2=gpstemp_new(data_sta)
+    data_sta2.to_csv('data_sta2.csv')
     data_split=newsplit(data_sta2)
+    data_split.to_csv('data_split.csv')
     data_split=chrgst_time(data_split)
+   
     chrg=chrgdr(data_split)
     return chrg,data_sta2,param
 
@@ -423,8 +413,9 @@ def pro_output(df_merge,sn,gpscity,chrg_last):
     change=pd.DataFrame()
     if len(df_merge)>0:
         chrg,data_new,param=sep_chrg_dr(df_merge,sn,gpscity)
+        chrg.to_csv('chrg.csv')
         if len(chrg)>0:
-            data_sta=mkdf_chrg(chrg,data_new,param)
+            data_sta=mkdf_chrg(chrg, data_new,param)
             data_sta.to_csv('data_sta.csv')
             new=data_sta.copy() 
             if len(chrg_last)>0: