|
@@ -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):
|