code: def delete_rows(self, condition, info_str=None):
          
          self.df['num'] = list(range(len(self.df)))
          df_data = self.df
          # delete all records that meet condition
          if len(df_data[condition]) > 0:  #we have one or more records to delete
              inds = df_data[condition]['num'] # list of all rows where condition is TRUE
              for ind in inds[::-1]:
                  df_data = self.delete_row(ind)
                  if info_str:
                      print("-I- Deleting {}. ".format(info_str), end=' ')
                      print('deleting row {}'.format(str(ind)))
          # sort so that all rows for an item are together
          df_data.sort_index(inplace=True)
          # redo temporary index
          df_data['num'] = list(range(len(df_data)))
          self.df = df_data
          return df_data
docs: delete all rows with  condition==True
          inplace
  
          Parameters
          ----------
          condition : pandas DataFrame indexer
              all self.df rows that meet this condition will be deleted
          info_str : str
              description of the kind of rows to be deleted,
              e.g "specimen rows with blank method codes"
  
          Returns
          --------
          df_data : pandas DataFrame
              updated self.df