code: def get_name(self, col_name, df_slice="", index_names=""):
          
          # if slice is provided, use it
          if any(df_slice):
              df_slice = df_slice
          # if given index_names, grab a slice using fancy indexing
          elif index_names:
              df_slice = self.df.loc[index_names]
          # otherwise, use the full DataFrame
          else:
              df_slice = self.df
          # if the slice is empty, return ""
          if len(df_slice) == 0:
              return ""
          # if the column name isn't present in the slice, return ""
          if col_name not in df_slice.columns:
              return ""
          # otherwise, return the first value from that column
          first_val = list(df_slice[col_name].dropna())
          if any(first_val):
              return first_val[0]
          else:
              return ""
docs: Takes in a column name, and either a DataFrame slice or
          a list of index_names to slice self.df using fancy indexing.
          Then return the value for that column in the relevant slice.
          (Assumes that all values for column will be the same in the
           chosen slice, so return the first one.)