コード例 #1
0
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,
コード例 #2
0
  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)]
コード例 #3
0
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',