code: def _normalize_index_columns_in_place(
      equities,
      equity_supplementary_mappings,
      futures,
      exchanges,
      root_symbols,
  ):
      """
      Update dataframes in place to set indentifier columns as indices.
  
      For each input frame, if the frame has a column with the same name as its
      associated index column, set that column as the index.
  
      Otherwise, assume the index already contains identifiers.
  
      If frames are passed as None, they're ignored.
      """
      for frame, column_name in (
          (equities, "sid"),
          (equity_supplementary_mappings, "sid"),
          (futures, "sid"),
          (exchanges, "exchange"),
          (root_symbols, "root_symbol"),
      ):
          if frame is not None and column_name in frame:
              frame.set_index(column_name, inplace=True)
  
imports: from collections import namedtuple
  import re
  import numpy
  import pandas
  import sqlalchemy
  from toolz import first
  from zipline.errors import AssetDBVersionError
  from zipline.assets.asset_db_schema import ASSET_DB_VERSION, asset_db_table_names, asset_router, equities, equity_symbol_mappings, equity_supplementary_mappings, futures_contracts, exchanges, futures_root_symbols, metadata, version_info
  from zipline.utils.compat import ExitStack
  from zipline.utils.preprocess import preprocess
  from zipline.utils.range import from_tuple, intersecting_ranges
  from zipline.utils.sqlite_utils import coerce_string_to_eng
label_desc: Use image node_id 1 for calling a global function with example usage: _normalize_index_columns_in_place(equities, equity_supplementary_mappings, futures, exchanges, root_symbols) without return types