|
@@ -77,7 +77,7 @@ class StatisticsAndSaveTmpFormalFile(object):
|
|
|
'param9', 'param10']
|
|
|
|
|
|
# 删除 有功功率 和 风速均为空的情况
|
|
|
- df.dropna(subset=['active_power', 'wind_velocity'], how='all', inplace=True)
|
|
|
+ df.dropna(subset=['active_power', 'wind_velocity'], how='any', inplace=True)
|
|
|
trans_print(origin_wind_name, wind_col_name, "删除有功功率和风速均为空的情况后:", df.shape)
|
|
|
df.replace(np.nan, -999999999, inplace=True)
|
|
|
number_cols = df.select_dtypes(include=['number']).columns.tolist()
|
|
@@ -97,6 +97,11 @@ class StatisticsAndSaveTmpFormalFile(object):
|
|
|
df.sort_values(by='time_stamp', inplace=True)
|
|
|
df = df[[i for i in self.trans_param.cols_tran.keys() if i in df.columns]]
|
|
|
|
|
|
+ # 删除每行有空值的行(2025-3-24)
|
|
|
+ origin_count = df.shape[0]
|
|
|
+ df = df.dropna()
|
|
|
+ trans_print(f'原始数据量:{origin_count},去除na后数据量:{df.shape[0]}')
|
|
|
+
|
|
|
# 如果秒级有可能合并到分钟级
|
|
|
# TODO add 秒转分钟
|
|
|
if self.trans_param.boolean_sec_to_min:
|
|
@@ -108,7 +113,6 @@ class StatisticsAndSaveTmpFormalFile(object):
|
|
|
trans_print(origin_wind_name, wind_col_name, "功率大于0的数量:", power_df.shape)
|
|
|
power = power_df.sample(int(power_df.shape[0] / 100))['active_power'].median()
|
|
|
|
|
|
- del power_df
|
|
|
trans_print(origin_wind_name, wind_col_name, '有功功率,中位数', power)
|
|
|
if power > 100000:
|
|
|
df['active_power'] = df['active_power'] / 1000
|
|
@@ -126,10 +130,16 @@ class StatisticsAndSaveTmpFormalFile(object):
|
|
|
# raise Exception("执行代码不支持导入包")
|
|
|
# exec(exec_code)
|
|
|
|
|
|
- class_identifiler = ClassIdentifier(wind_turbine_number=origin_wind_name, origin_df=df,
|
|
|
- rated_power=rated_power_and_cutout_speed_tuple[0],
|
|
|
- cut_out_speed=rated_power_and_cutout_speed_tuple[1])
|
|
|
- df = class_identifiler.run()
|
|
|
+ if power_df.shape[0] == 0:
|
|
|
+ df.loc[:, 'lab'] = -1
|
|
|
+ else:
|
|
|
+ class_identifiler = ClassIdentifier(wind_turbine_number=origin_wind_name, origin_df=df,
|
|
|
+ rated_power=rated_power_and_cutout_speed_tuple[0],
|
|
|
+ cut_out_speed=rated_power_and_cutout_speed_tuple[1])
|
|
|
+ df = class_identifiler.run()
|
|
|
+
|
|
|
+ del power_df
|
|
|
+
|
|
|
df['year'] = df['time_stamp'].dt.year
|
|
|
df['month'] = df['time_stamp'].dt.month
|
|
|
df['day'] = df['time_stamp'].dt.day
|