code: def drop_rows(
      X: modALinput, I: Union[int, List[int], np.ndarray]
  ) -> Union[sp.csc_matrix, np.ndarray, pd.DataFrame]:
      """
      Returns X without the row(s) at index/indices I
      """
      if sp.issparse(X):
          mask = np.ones(X.shape[0], dtype=bool)
          mask[I] = False
          return retrieve_rows(X, mask)
      elif isinstance(X, pd.DataFrame):
          return X.drop(I, axis=0)
      elif isinstance(X, np.ndarray):
          return np.delete(X, I, axis=0)
      elif isinstance(X, list):
          return np.delete(X, I, axis=0).tolist()
  
      try:
          if torch.is_tensor(blocks[0]):
              return torch.cat(blocks)
      except:
          X[
              [
                  True if row not in I else False
                  for row in range(X.size(0))
              ]
          ]
  
      raise TypeError("%s datatype is not supported" % type(X))
  
file_path: modAL/modAL/utils/data.py
imports: from typing import List, Sequence, Union
  import numpy
  import pandas
  import scipy.sparse
label_desc: Use image node_id 5 for calling a global function with example usage: drop_rows(X, I) and returns: retrieve_rows, X, torch, np, np