class_docstr: Mixin class for Raw, Evoked, Epochs, Spectrum, AverageTFR.
class_docstr_tok: ["Mixin","class","for","Raw",",","Evoked",",","Epochs",",","Spectrum",",","AverageTFR","."]
docstr: Drop channel(s).
  
  Parameters
  ----------
  ch_names : iterable or str
      Iterable (e.g. list) of channel name(s) or channel name to remove.
  %(on_missing_ch_names)s
  
  Returns
  -------
  inst : instance of Raw, Epochs, or Evoked
      The modified instance.
  
  See Also
  --------
  reorder_channels
  pick_channels
  pick_types
  
  Notes
  -----
  .. versionadded:: 0.9.0
docstr_tok: ["Drop","channel","(","s",")",".","Parameters","--","--","--","--","--","ch_names",":","iterable","or","str","Iterable","(","e.g",".","list",")","of","channel","name","(","s",")","or","channel","name","to","remove",".","%","(","on_missing_ch_names",")","s","Returns","--","--","--","-","inst",":","instance","of","Raw",",","Epochs",",","or","Evoked","The","modified","instance",".","See","Also","--","--","--","--","reorder_channels","pick_channels","pick_types","Notes","--","--","-","..","versionadded",":",":","0.9.0"]
code: def drop_channels(self, ch_names, on_missing="raise"):
      """Drop channel(s).
  
      Parameters
      ----------
      ch_names : iterable or str
          Iterable (e.g. list) of channel name(s) or channel name to remove.
      %(on_missing_ch_names)s
  
      Returns
      -------
      inst : instance of Raw, Epochs, or Evoked
          The modified instance.
  
      See Also
      --------
      reorder_channels
      pick_channels
      pick_types
  
      Notes
      -----
      .. versionadded:: 0.9.0
      """
      if isinstance(ch_names, str):
          ch_names = [ch_names]
  
      try:
          all_str = all([isinstance(ch, str) for ch in ch_names])
      except TypeError:
          raise ValueError(
              f"'ch_names' must be iterable, got type {type(ch_names)} ({ch_names})."
          )
  
      if not all_str:
          raise ValueError(
              "Each element in 'ch_names' must be str, got "
              f"{[type(ch) for ch in ch_names]}."
          )
  
      missing = [ch for ch in ch_names if ch not in self.ch_names]
      if len(missing) > 0:
          msg = "Channel(s) {0} not found, nothing dropped."
          _on_missing(on_missing, msg.format(", ".join(missing)))
  
      bad_idx = [
          self.ch_names.index(ch)
          for ch in ch_names
          if ch in self.ch_names
      ]
      idx = np.setdiff1d(np.arange(len(self.ch_names)), bad_idx)
      return self._pick_drop_channels(idx)
  
imports: import os.path
  import string
  import sys
  from collections import OrderedDict
  from copy import deepcopy
  from dataclasses import dataclass
  from functools import partial
  from pathlib import Path
  from typing import Union
  import numpy
  from scipy.io import loadmat
  from scipy.sparse import csr_matrix, lil_matrix
  from scipy.spatial import Delaunay
  from scipy.stats import zscore
  from .._fiff.constants import FIFF
  from .._fiff.meas_info import Info, MontageMixin, _merge_info, _rename_comps, _unit2human, create_info
  from .._fiff.pick import _check_excludes_includes, _pick_data_channels, _picks_by_type, _picks_to_idx, _second_rules, channel_indices_by_type, channel_type, pick_channels, pick_info, pick_types
  from .._fiff.proj import setup_proj
  from .._fiff.reference import add_reference_channels, set_eeg_reference
  from .._fiff.tag import _rename_list
  from ..bem import _check_origin
  from ..defaults import HEAD_SIZE_DEFAULT, _handle_default
  from ..utils import _check_dict_keys, _check_fname, _check_option, _check_preload, _get_stim_channel, _on_missing, _validate_type, fill_doc, legacy, logger, verbose, warn
label_desc: Use image node_id 5 for calling the UpdateChannelsMixin obj's underlying member method code with example usage: obj.drop_channels(ch_names, on_missing) and returns: self