|
|
@@ -30,16 +30,23 @@ class MSET_Temp:
|
|
|
self.feature_weight: np.ndarray | None = None
|
|
|
self.alpha: float = 0.1
|
|
|
self.beta: float = 0.1
|
|
|
-
|
|
|
+
|
|
|
def _get_data_by_filter(self) -> pd.DataFrame:
|
|
|
"""
|
|
|
在线推理专用:根据 self.windTurbineNumberList & 时间拉数据;
|
|
|
如果列表为空,则拉全场数据。
|
|
|
"""
|
|
|
- table = f"{self.windCode}_minute"
|
|
|
+ # 特殊风场表名映射
|
|
|
+ special_wind_farms = {
|
|
|
+ "WOF093400005": f"`{self.windCode}-WOB000001_minute`" # 加上反引号
|
|
|
+ }
|
|
|
+
|
|
|
+ # 根据风场编号获取表名,特殊风场用反引号,其他风场不加反引号
|
|
|
+ table = special_wind_farms.get(self.windCode, f"{self.windCode}_minute")
|
|
|
+
|
|
|
engine = create_engine(
|
|
|
#"mysql+pymysql://root:admin123456@106.120.102.238:10336/energy_data_prod"
|
|
|
- "mysql+pymysql://root:admin123456@192.168.50.235:30306/energy_data_prod"
|
|
|
+ "mysql+pymysql://root:admin123456@192.168.50.235:30306/energy_data_prod"
|
|
|
)
|
|
|
if self.windTurbineNumberList:
|
|
|
turbines = ",".join(f"'{t}'" for t in self.windTurbineNumberList)
|
|
|
@@ -54,7 +61,7 @@ class MSET_Temp:
|
|
|
ORDER BY time_stamp ASC
|
|
|
""")
|
|
|
return pd.read_sql(sql, engine, params={"start": self.startTime, "end": self.endTime})
|
|
|
-
|
|
|
+
|
|
|
def calcSimilarity(self, x: np.ndarray, y: np.ndarray, m: str = 'euc') -> float:
|
|
|
if len(x) != len(y):
|
|
|
return 0.0
|