class_docstr: A Column object for Numeric types.
  
  Parameters
  ----------
  data : Buffer
  dtype : np.dtype
      The dtype associated with the data Buffer
  mask : Buffer, optional
class_docstr_tok: ["A","Column","object","for","Numeric","types",".","Parameters","--","--","--","--","--","data",":","Buffer","dtype",":","np.dtype","The","dtype","associated","with","the","data","Buffer","mask",":","Buffer",",","optional"]
docstr: Set the value of ``self[key]`` to ``value``.
  
  If ``value`` and ``self`` are of different types, ``value`` is coerced
  to ``self.dtype``.
docstr_tok: ["Set","the","value","of","``","self","[","key","]","``","to","``","value","``",".","If","``","value","``","and","``","self","``","are","of","different","types",",","``","value","``","is","coerced","to","``","self.dtype","``","."]
code: def __setitem__(self, key: Any, value: Any):
      """
      Set the value of ``self[key]`` to ``value``.
  
      If ``value`` and ``self`` are of different types, ``value`` is coerced
      to ``self.dtype``.
      """
  
      # Normalize value to scalar/column
      device_value = (
          cudf.Scalar(
              value,
              dtype=self.dtype
              if cudf._lib.scalar._is_null_host_scalar(value)
              else None,
          )
          if is_scalar(value)
          else as_column(value)
      )
  
      if not is_bool_dtype(self.dtype) and is_bool_dtype(
          device_value.dtype
      ):
          raise TypeError(
              f"Invalid value {value} for dtype {self.dtype}"
          )
      else:
          device_value = device_value.astype(self.dtype)
  
      out: Optional[
          ColumnBase
      ]  # If None, no need to perform mimic inplace.
      if isinstance(key, slice):
          out = self._scatter_by_slice(key, device_value)
      else:
          key = as_column(key)
          if not isinstance(key, cudf.core.column.NumericalColumn):
              raise ValueError(f"Invalid scatter map type {key.dtype}.")
          out = self._scatter_by_column(key, device_value)
  
      if out:
          self._mimic_inplace(out, inplace=True)
  
imports: from __future__ import annotations
  from typing import Any, Callable, Mapping, Optional, Sequence, Tuple, Union, cast
  import cupy
  import numpy
  import pandas
  from typing_extensions import Self
  import cudf
  from cudf import _lib
  from cudf._lib.types import size_type_dtype
  from cudf._typing import ColumnBinaryOperand, ColumnLike, Dtype, DtypeObj, ScalarLike
  from cudf.api.types import is_bool_dtype, is_float_dtype, is_integer, is_integer_dtype, is_scalar
  from cudf.core.buffer import Buffer, cuda_array_interface_wrapper
  from cudf.core.column import ColumnBase, as_column, build_column, column, full, string
  from cudf.core.dtypes import CategoricalDtype
  from cudf.core.mixins import BinaryOperand
  from cudf.utils.dtypes import NUMERIC_TYPES, min_column_type, min_signed_type, np_dtypes_to_pandas_dtypes, numeric_normalize_types
  from .numerical_base import NumericalBaseColumn
label_desc: Use image node_id 6 for calling the NumericalColumn obj's underlying member method code with example usage: obj.__setitem__(key, value) without return types