Source code for pysight.nd_hist_generator.photon_df_tools

import attr
from attr.validators import instance_of
import pandas as pd
import sys


[docs]@attr.s(slots=True) class PhotonDF(object): """ Create initial photon dataframe and set the channel as its index """ dict_of_data = attr.ib(validator=instance_of(dict)) num_of_channels = attr.ib(default=1, validator=instance_of(int))
[docs] def gen_df(self): """ If a single PMT channel exists, create a df_photons object. Else, concatenate the two data channels into a single dataframe. :return pd.DataFrame: Photon data """ assert 'Channel' in self.dict_of_data['PMT1'].columns try: df_photons = pd.concat([self.dict_of_data['PMT1'].copy(), self.dict_of_data['PMT2'].copy()], axis=0) self.num_of_channels = 2 except KeyError: df_photons = self.dict_of_data['PMT1'].copy() except: print("Unknown error: ", sys.exc_info()[0]) finally: df_photons.loc[:, 'Channel'] = df_photons.loc[:, 'Channel'].astype('category') df_photons.set_index(keys='Channel', inplace=True) return df_photons