David 2 月之前
父節點
當前提交
ddb2a51baa
共有 1 個文件被更改,包括 17 次插入10 次删除
  1. 17 10
      post_processing/cdq_coe_gen.py

+ 17 - 10
post_processing/cdq_coe_gen.py

@@ -11,8 +11,10 @@ from common.database_dml_koi import get_data_from_mongo
 from pymongo import MongoClient
 from flask import Flask,request,jsonify
 from datetime import datetime
-from common.logs import Log
-logger = Log('post-processing').logger
+# from common.logs import Log
+# logger = Log('post-processing').logger
+from logging import getLogger
+logger = getLogger('xx')
 current_path = os.path.dirname(__file__)
 API_URL = "http://ds2:18080/accuracyAndBiasByJSON"
 
@@ -72,18 +74,19 @@ def prepare_request_body(df, col_power, col_pre):
     """
     准备请求体,动态保留MongoDB中的所有字段
     """
+    data = df.copy()
     # 转换时间格式为字符串
-    if 'dateTime' in df.columns and isinstance(df['dateTime'].iloc[0], datetime):
-        df['dateTime'] = df['dateTime'].dt.strftime('%Y-%m-%d %H:%M:%S')
-
+    if 'dateTime' in data.columns and isinstance(data['dateTime'].iloc[0], datetime):
+        data['dateTime'] = data['dateTime'].dt.strftime('%Y-%m-%d %H:%M:%S')
+    data['model'] = col_pre
     # 排除不需要的字段(如果有)
     exclude_fields = ['_id']  # 通常排除MongoDB的默认_id字段
 
     # 获取所有字段名(排除不需要的字段)
-    available_fields = [col for col in df.columns if col not in exclude_fields]
+    available_fields = [col for col in data.columns if col not in exclude_fields]
 
     # 转换为记录列表(保留所有字段)
-    data = df[available_fields].to_dict('records')
+    data = data[available_fields].to_dict('records')
 
     # 构造请求体(固定部分+动态数据部分)
     request_body = {
@@ -120,14 +123,18 @@ def calculate_acc(api_url, request_body):
             headers=headers
         )
         result = response.json()
-        if result['status'] == 200:
+        if response.status_code == 200:
             acc = np.average([res['accuracy'] for res in result])
-            ass = np.average([res['accuracyAssessment'] for res in result])
-            return acc, ass
+            # ass = np.average([res['accuracyAssessment'] for res in result])
+            print("111111111")
+            return acc, 0
         else:
             logger.info(f"失败:{result['status']},{result['error']}")
+            print(f"失败:{result['status']},{result['error']}")
+            print("22222222")
     except requests.exceptions.RequestException as e:
         print(f"API调用失败: {e}")
+        print("333333333")
         return None
 
 def history_error(data, col_power, col_pre):