code: def _convert_str_col(col, errors, _downcast=None):
      """
      Converts a string column to numeric column
  
      Converts to integer column if all strings are integer-like (isinteger.all)
      Otherwise, converts to float column if all strings are float-like (
      isfloat.all)
  
      If error == 'coerce', fill non-numerics strings with null
  
      Looks ahead to ``downcast`` parameter, if the float may be casted to
      integer, then only process in float32 pipeline.
  
      Parameters
      ----------
      col : The string column to convert, must be string dtype
      errors : {'raise', 'ignore', 'coerce'}, same as ``to_numeric``
      _downcast : Same as ``to_numeric``, see description for use
  
      Returns
      -------
      Converted numeric column
      """
      if not is_string_dtype(col):
          raise TypeError("col must be string dtype.")
  
      is_integer = libstrings.is_integer(col)
      if is_integer.all():
          return col.as_numerical_column(dtype=cudf.dtype("i8"))
  
      col = _proc_inf_empty_strings(col)
  
      is_float = libstrings.is_float(col)
      if is_float.all():
          if _downcast in {"unsigned", "signed", "integer"}:
              warnings.warn(
                  UserWarning(
                      "Downcasting from float to int will be "
                      "limited by float32 precision."
                  )
              )
              return col.as_numerical_column(dtype=cudf.dtype("f"))
          else:
              return col.as_numerical_column(dtype=cudf.dtype("d"))
      else:
          if errors == "coerce":
              col = libcudf.string_casting.stod(col)
              non_numerics = is_float.unary_operator("not")
              col[non_numerics] = None
              return col
          else:
              raise ValueError(
                  "Unable to convert some strings to numerics."
              )
  
file_path: cudf/python/cudf/cudf/core/tools/numeric.py
imports: import warnings
  import numpy
  import pandas
  import cudf
  from cudf import _lib
  from cudf._lib import strings
  from cudf.api.types import _is_non_decimal_numeric_dtype, is_datetime_dtype, is_string_dtype, is_timedelta_dtype
  from cudf.core.column import as_column
  from cudf.core.dtypes import CategoricalDtype
  from cudf.utils.dtypes import can_convert_to_column
label_desc: Use image node_id 2 for calling a global function with example usage: _convert_str_col(col, errors, _downcast) and returns: col, col, col, col