diff --git a/interpret_qc.py b/interpret_qc.py index 39ac241240097c21b6583239c414c4fda7d2132e..1967ee166e529524802befa26f2ad59b22aaf218 100644 --- a/interpret_qc.py +++ b/interpret_qc.py @@ -31,6 +31,7 @@ def qc_day(qc_path): frame = cxs.combine_first(get_all_housekeeping(sum_path)) qc_frame = get_qc_frame(qc_path) frame = frame.combine_first(qc_frame) + frame = frame.query('missingDataFlag == 0') qc_frame_sum = qc_frame.sum(axis=0).to_string() @@ -59,19 +60,19 @@ def plot_variable_qc(frame, loc, filename=None): if qc_loc not in frame.columns: print('{qc_loc} not in frame'.format(qc_loc=qc_loc)) return - if sum(frame[qc_loc]) > 0: - fig = plt.figure(figsize=(50,5)) - plot_outliers(frame, frame[qc_loc] == 0, loc) + if frame[qc_loc].sum() > 0: + fig = plt.figure(figsize=(10,5)) + plot_outliers(frame, frame[qc_loc], loc) if filename is not None: save_plot(filename) else: return mpld3.fig_to_html(fig) def plot_outliers(frame, qc_mask, loc): - if (~qc_mask).any(): - frame.ix[qc_mask & (frame['qc_percent'] == 0), loc].plot(style='b.') - frame.ix[qc_mask & (frame['qc_percent'] > 0), loc].plot(style='k.', alpha=.2) - frame.ix[~qc_mask, loc].plot(style='r.') + if (~np.isnan(qc_mask) & qc_mask > 0).any(): + frame.ix[(np.isnan(qc_mask) | (qc_mask == 0)) & (frame['qc_percent'] == 0), loc].plot(style='b.') + frame.ix[(np.isnan(qc_mask) | (qc_mask == 0)) & (frame['qc_percent'] > 0), loc].plot(style='k.', alpha=.2) + frame.ix[~np.isnan(qc_mask) & (qc_mask > 0) & (frame['qc_percent'] > 0), loc].plot(style='r.') plt.xlabel('Time') plt.title(loc)