code: def maccs_keys_fingerprint(
      df: pd.DataFrame, mols_column_name: Hashable
  ) -> pd.DataFrame:
      """Convert a column of RDKIT mol objects into MACCS Keys Fingerprints.
  
      Returns a new dataframe without any of the original data.
      This is intentional to leave the user with the data requested.
  
      This method does not mutate the original DataFrame.
  
      Examples:
          Functional usage
  
          >>> import pandas as pd
          >>> import janitor.chemistry
          >>> df = pd.DataFrame({"smiles": ["O=C=O", "CCC(=O)O"]})
          >>> maccs = janitor.chemistry.maccs_keys_fingerprint(
          ...     df=df.smiles2mol('smiles', 'mols'),
          ...     mols_column_name='mols'
          ... )
          >>> len(maccs.columns)
          167
  
          Method chaining usage
  
          >>> import pandas as pd
          >>> import janitor.chemistry
          >>> df = pd.DataFrame({"smiles": ["O=C=O", "CCC(=O)O"]})
          >>> maccs = (
          ...     df.smiles2mol('smiles', 'mols')
          ...         .maccs_keys_fingerprint(mols_column_name='mols')
          ... )
          >>> len(maccs.columns)
          167
  
          If you wish to join the maccs keys fingerprints back into the
          original dataframe, this can be accomplished by doing a `join`,
          because the indices are preserved:
  
          >>> joined = df.join(maccs)
          >>> len(joined.columns)
          169
  
      Args:
          df: A pandas DataFrame.
          mols_column_name: The name of the column that has the RDKIT mol
              objects.
  
      Returns:
          A new pandas DataFrame of MACCS keys fingerprints.
      """
  
      maccs = [GetMACCSKeysFingerprint(m) for m in df[mols_column_name]]
  
      np_maccs = []
  
      for macc in maccs:
          arr = np.zeros((1,))
          DataStructs.ConvertToNumpyArray(macc, arr)
          np_maccs.append(arr)
      np_maccs = np.vstack(np_maccs)
      fmaccs = pd.DataFrame(np_maccs)
      fmaccs.index = df.index
      return fmaccs
  
file_path: pyjanitor/janitor/chemistry.py
imports: from typing import Hashable, Literal, Optional
  import numpy
  import pandas
  import pandas_flavor
  from .utils import deprecated_alias, import_message
label_desc: Use image node_id 4 for calling a global function with example usage: maccs_keys_fingerprint(df, mols_column_name) and returns: fmaccs