|
@@ -25,7 +25,7 @@ def forecast_data_distribution(pre_data,args):
|
|
|
|
|
|
if len(pre_data)==0:
|
|
|
send_message('lightgbm预测组件', args['farmId'], '请注意:获取NWP数据为空,预测文件无法生成!')
|
|
|
- result = pd.DataFrame({col_time:[],'farm_id':[],'power_forecast':[]})
|
|
|
+ result = pd.DataFrame({'farm_id':[], col_time:[], 'power_forecast':[]})
|
|
|
|
|
|
elif len(pre_data[pre_data[col_time].str.contains(tomorrow)])<96:
|
|
|
send_message('lightgbm预测组件', args['farmId'], "日前数据记录缺失,不足96条,用DQ代替并补值!")
|
|
@@ -34,7 +34,7 @@ def forecast_data_distribution(pre_data,args):
|
|
|
date_range = pd.date_range(start=start_time, end=end_time, freq='15T').strftime('%Y-%m-%d %H:%M:%S').tolist()
|
|
|
df_date = pd.DataFrame({col_time:date_range})
|
|
|
result = pd.merge(df_date,pre_data,how='left',on=col_time).sort_values(by=col_time).fillna(method='ffill').fillna(method='bfill')
|
|
|
- result = result[['date_time', 'farm_id', 'power_forecast']]
|
|
|
+ result = result[['farm_id', 'date_time', 'power_forecast']]
|
|
|
else:
|
|
|
df = pre_data.sort_values(by=col_time).fillna(method='ffill').fillna(method='bfill')
|
|
|
mongodb_connection, mongodb_database, mongodb_model_table, model_name = "mongodb://root:sdhjfREWFWEF23e@192.168.1.43:30000/", \
|
|
@@ -50,15 +50,15 @@ def forecast_data_distribution(pre_data,args):
|
|
|
diff = set(model.feature_name()) - set(pre_data.columns)
|
|
|
if len(diff) > 0:
|
|
|
send_message('lightgbm预测组件', args['farmId'], f'NWP特征列缺失,使用DQ代替!features:{diff}')
|
|
|
- result = pre_data[['date_time', 'farm_id', 'power_forecast']]
|
|
|
+ result = pre_data[['farm_id', 'date_time', 'power_forecast']]
|
|
|
else:
|
|
|
df['power_forecast'] = model.predict(df[model.feature_name()])
|
|
|
df.loc[df['power_forecast'] < 0, 'power_forecast'] = 0
|
|
|
print("model predict result successfully!")
|
|
|
- result = df[['date_time', 'farm_id', 'power_forecast']]
|
|
|
+ result = df[['farm_id', 'date_time', 'power_forecast']]
|
|
|
else:
|
|
|
send_message('lightgbm预测组件', args['farmId'], "日前数据记录缺失,不足96条,用DQ代替并补值!")
|
|
|
- result = pre_data[['date_time', 'farm_id', 'power_forecast']]
|
|
|
+ result = pre_data[['farm_id', 'date_time', 'power_forecast']]
|
|
|
result['power_forecast'] = round(result['power_forecast'],2)
|
|
|
return result
|
|
|
|