|
@@ -4,14 +4,14 @@ import pandas as pd
|
|
import numpy as np
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
import matplotlib.pyplot as plt
|
|
import pickle
|
|
import pickle
|
|
|
|
+import argparse
|
|
current_path = os.path.dirname(__file__)
|
|
current_path = os.path.dirname(__file__)
|
|
-
|
|
|
|
|
|
+parent_path = os.path.dirname(current_path)
|
|
|
|
|
|
class LimitPower(object):
|
|
class LimitPower(object):
|
|
def __init__(self, logger, args, weather_power):
|
|
def __init__(self, logger, args, weather_power):
|
|
self.logger = logger
|
|
self.logger = logger
|
|
- self.args = args
|
|
|
|
- self.opt = self.args.parse_args_and_yaml()
|
|
|
|
|
|
+ self.opt = argparse.Namespace(**args)
|
|
self.weather_power = weather_power
|
|
self.weather_power = weather_power
|
|
self.step = self.opt.usable_power_w['step']
|
|
self.step = self.opt.usable_power_w['step']
|
|
self.segs = np.array([x * self.step for x in range(1, 50)]) # 对风速以50为间隔进行分段
|
|
self.segs = np.array([x * self.step for x in range(1, 50)]) # 对风速以50为间隔进行分段
|
|
@@ -120,7 +120,6 @@ class LimitPower(object):
|
|
def clean_limited_power(self, name, cluster=False):
|
|
def clean_limited_power(self, name, cluster=False):
|
|
if cluster is True:
|
|
if cluster is True:
|
|
glob_rp = self.segment_statis()
|
|
glob_rp = self.segment_statis()
|
|
- self.saveVar(os.path.dirname(current_path) + '/var/glob_rp.pickle', glob_rp)
|
|
|
|
self.mapping_relation(glob_rp)
|
|
self.mapping_relation(glob_rp)
|
|
new_weather_power, number = [], 0
|
|
new_weather_power, number = [], 0
|
|
# fig, ax = plt.subplots()
|
|
# fig, ax = plt.subplots()
|
|
@@ -137,12 +136,12 @@ class LimitPower(object):
|
|
new_weather_power.append(row)
|
|
new_weather_power.append(row)
|
|
new_weather_power = pd.concat(new_weather_power, axis=1).T
|
|
new_weather_power = pd.concat(new_weather_power, axis=1).T
|
|
new_weather_power.plot.scatter(x=self.opt.usable_power_w["env"], y='Power', c='c')
|
|
new_weather_power.plot.scatter(x=self.opt.usable_power_w["env"], y='Power', c='c')
|
|
- plt.savefig(current_path + '/figs/测风法{}.png'.format(name))
|
|
|
|
|
|
+ plt.savefig(parent_path + '/figs/测风法{}.png'.format(name))
|
|
new_weather_power = new_weather_power[new_weather_power['c'] == 'red']
|
|
new_weather_power = new_weather_power[new_weather_power['c'] == 'red']
|
|
number = len(new_weather_power)
|
|
number = len(new_weather_power)
|
|
self.logger.info("未清洗限电前,总共有:{}条数据".format(len(self.weather_power)))
|
|
self.logger.info("未清洗限电前,总共有:{}条数据".format(len(self.weather_power)))
|
|
self.logger.info("清除限电后保留的点有:" + str(number) + " 占比:" + str(round(number / len(self.weather_power), 2)))
|
|
self.logger.info("清除限电后保留的点有:" + str(number) + " 占比:" + str(round(number / len(self.weather_power), 2)))
|
|
- return new_weather_power.loc[:, ['C_TIME', self.opt.tagert]]
|
|
|
|
|
|
+ return new_weather_power.loc[:, [self.opt.col_time, self.opt.tagert]]
|
|
|
|
|
|
|
|
|
|
|
|
|