def busca_errores_data(self,verbose=True): self.append_delta_index(TS_DATA) data = self.data idx_desconex = data.delta_T > 1 fechas_desconex = [ed.to_datetime() for ed in data.index[idx_desconex].tolist()] errores = pd.DataFrame(data={'anyo': [f.year for f in fechas_desconex], 'mes': [f.month for f in fechas_desconex], 'dia': [f.day for f in fechas_desconex], 'hora': [f.hour for f in fechas_desconex], 'dia_semana': [f.weekday() for f in fechas_desconex], 'ordinal': [f.toordinal() for f in fechas_desconex], 'str_dia': [f.strftime(DATE_FMT) for f in fechas_desconex], 'delta_T': data.delta_T[idx_desconex]}, index= data.index[idx_desconex], columns=['anyo','mes','dia','hora','dia_semana','ordinal','str_dia','delta_T']) try: errores_anyo = errores[dt.date.today().strftime('%Y')] except: errores_anyo = [] if verbose: fig, hejes = rdp.get_lienzo() errores[errores.anyo != 2009].hist(ax=hejes) print 'Hay %lu errores en la base de datos, producidos en %lu días (%lu de este año).\nEl último fue en %s, con un delta_Ts de %lu' \ % (len(errores), len(set(errores.ordinal)), len(errores_anyo), errores.index[-1], errores.delta_T[-1]) dias_errores = sorted(set(errores.str_dia)) if len(errores_anyo) > 0: print 'Este año hay errores:', errores_anyo print 'Se han detectado errores en los días:', dias_errores return errores
print 'Hay %lu errores en la base de datos, producidos en %lu días (%lu de este año).\nEl último fue en %s, con un delta_Ts de %lu' \ % (len(errores), len(set(errores.ordinal)), len(errores_anyo), errores.index[-1], errores.delta_T[-1]) dias_errores = sorted(set(errores.str_dia)) print data.nuc[data.nuc < 3000] data.nuc.plot() print data.car[data.car < 10] print data['2007-11-24 10:00':'2007-11-24 14:00'] # Plot renovables (sin eólica) rdp.plot_renov(data) # Plot hid, car, gf (buscando problemas en datos) fig, hejes = rdp.get_lienzo() # data.dem.plot(ax=hejes,kind='Area'), plt.show() data.gf.plot(ax=hejes, label='Fuel', alpha=.7) data.hid.plot(ax=hejes, label=u'Hidráulica', alpha=.7) data.car.plot(ax=hejes, label=u'Carbón', alpha=.7) rdp.plt.show() # Días raros (errores en los datos de REE) for d in DIAS_RAROS: rdp.plot_dia_raro(data, d) # print df0.ix['2007-10-26 21:00'] # fig, hejes = rdp.get_lienzo() # data.inter.plot(ax=hejes) #
% (len(errores), len(set(errores.ordinal)), len(errores_anyo), errores.index[-1], errores.delta_T[-1]) dias_errores = sorted(set(errores.str_dia)) print data.nuc[data.nuc < 3000] data.nuc.plot() print data.car[data.car < 10] print data['2007-11-24 10:00':'2007-11-24 14:00'] # Plot renovables (sin eólica) rdp.plot_renov(data) # Plot hid, car, gf (buscando problemas en datos) fig, hejes = rdp.get_lienzo() # data.dem.plot(ax=hejes,kind='Area'), plt.show() data.gf.plot(ax=hejes, label='Fuel', alpha=.7) data.hid.plot(ax=hejes, label=u'Hidráulica', alpha=.7) data.car.plot(ax=hejes, label=u'Carbón', alpha=.7) rdp.plt.show() # Días raros (errores en los datos de REE) for d in DIAS_RAROS: rdp.plot_dia_raro(data, d) # print df0.ix['2007-10-26 21:00'] # fig, hejes = rdp.get_lienzo() # data.inter.plot(ax=hejes)