def retrieve_microwindow_averages(self, datetime): ''' Calculates microwindow average features for the provided datetime datetime: Pandas datetime object notation (can be a string) Example: "2009-02-04 12:00:00" Returns dict[CentralWaveNumber] -> average Brightess Temperature for microwindow ''' BT_features = {} for mw in self.microwindows: slice_start = mw[0] - mw[1] slice_end = mw[0] + mw[1] truncated = self.data.loc[(self.data['wnum1'] >= slice_start) & (self.data['wnum1'] <= slice_end) & (self.data['time_offset'] == datetime)] # small_frame = helpers.read_wavenumber_slice(self.data, (slice_start, slice_end)) # Convert radiance W to mW truncated.mean_rad /= 1000 averaged = truncated['mean_rad'].mean() BT_features[mw[0]] = helpers.brightness_temp(averaged, mw[0]) return BT_features
def avg_brightness_temp(df): ''' Calculates the average brightness temperature at 10um wavelength, averaged over each 7 minute measurement period Adds the additional values as a new column titled 'avg_brightness_temp' Also classifies period as sunny or not, in new column titled 'sunny' ''' temp_df = df temp_df['avg_brightness_temp'] = temp_df.apply(lambda row: helpers.brightness_temp(row.mean_rad, row.wnum1), axis=1) temp_df['sunny'] = temp_df.apply(lambda row: row.avg_brightness_temp > 225, axis=1) return temp_df