import pandas as pd import datetime as dt import freqanalysis.datatools as datatool import argparse cmd_parser = argparse.ArgumentParser() cmd_parser.add_argument("datafile", help="HDF+ file containing the ensemble data") args = cmd_parser.parse_args() print "Slurping data from %s" % (args.datafile) with pd.get_store(args.datafile) as store: ensemble_all_df = store['ensemble_all'] ensemble_weekday_df = store['ensemble_weekday'] ensemble_weekend_df = store['ensemble_weekend'] print "Calculating Savitzky-Golay filter (2nd degree polynom, window length 7)" datatool.addSavitzkyGolay(ensemble_all_df) datatool.addSavitzkyGolay(ensemble_weekday_df) datatool.addSavitzkyGolay(ensemble_weekend_df) print "Drawing" fig = plt.figure(figsize=(16, 9), dpi=75) mintime = np.min(ensemble_all_df['s_since_midnight']) maxtime = np.max(ensemble_all_df['s_since_midnight']) plt.title("Ensemble der Netzfrequenz") plt.xlabel("Zeit [UTC]") plt.ylabel("Frequenz [Hz]") #plt.plot(ensemble_all_df.s_since_midnight, # ensemble_all_df.freq_sg, 'k', label="Alle Tage") plt.plot(ensemble_weekday_df.s_since_midnight, ensemble_weekday_df.freq_sg, 'b', label="Wochentag") plt.plot(ensemble_weekend_df.s_since_midnight,
print "Note: will export all records." print "Loading datasets. This might take a while." alldata = None with pb.ProgressBar(maxval=len(files)) as progress: for idx, file in enumerate(files): newdata = datatool.load_data_as_dataframe(os.path.join(args.datadir, file)) if idx == 0: alldata = newdata else: alldata = alldata.append(newdata, ignore_index=True) progress.update(idx) print "Finished reading data into memory." print "Computing Savitzky-Golay Filter (windowlen=7, polyorder=2)" alldata = datatool.addSavitzkyGolay(alldata) #print "Selecting all friday data for comparison." ## select the friday 8:00 to 11:00 UTC datasets from the alldata frame fridaydata = alldata[(alldata.weekday == 4) & (alldata.hour > 7) & (alldata.hour < 11)] print "Selecting eclipse data" eclipsedata = alldata[(alldata.unix >= 1426838400) & (alldata.unix < 1426849200)] print "Selecting Amsterdam blackout data" amsterdam = alldata[(alldata.unix >= 1427445400) & (alldata.unix < 1427455400)] print "Selecting KKW Grundremmingen Schnellabschaltung 25.03.2015 data" grundremmingen = alldata[(alldata.unix >= 1427268780) & (alldata.unix < 1427269200)]
import datetime as dt import freqanalysis.datatools as datatool import argparse cmd_parser = argparse.ArgumentParser() cmd_parser.add_argument("datafile", help="HDF+ file containing the ensemble data") args = cmd_parser.parse_args() print "Slurping data from %s" % (args.datafile) with pd.get_store(args.datafile) as store: ensemble_all_df = store['ensemble_all'] ensemble_weekday_df = store['ensemble_weekday'] ensemble_weekend_df = store['ensemble_weekend'] print "Calculating Savitzky-Golay filter (2nd degree polynom, window length 7)" datatool.addSavitzkyGolay(ensemble_all_df) datatool.addSavitzkyGolay(ensemble_weekday_df) datatool.addSavitzkyGolay(ensemble_weekend_df) print "Drawing" fig = plt.figure(figsize=(16, 9), dpi=75) mintime = np.min(ensemble_all_df['s_since_midnight']) maxtime = np.max(ensemble_all_df['s_since_midnight']) plt.title("Ensemble der Netzfrequenz") plt.xlabel("Zeit [UTC]") plt.ylabel("Frequenz [Hz]") #plt.plot(ensemble_all_df.s_since_midnight, # ensemble_all_df.freq_sg, 'k', label="Alle Tage") plt.plot(ensemble_weekday_df.s_since_midnight, ensemble_weekday_df.freq_sg, 'b',