Skip to main content
`Ctrl`+`K`

# pandas.api.types.is_signed_integer_dtype

pandas.api.types.is_signed_integer_dtype(arr_or_dtype)

  Check whether the provided array or dtype is of a signed integer dtype.

  Unlike in is_any_int_dtype, timedelta64 instances will return False.

  The nullable Integer dtypes (e.g. pandas.Int64Dtype) are also considered as integer by this function.

  Parameters:
    arr_or_dtype array-like or dtype

      The array or dtype to check.

  Returns:
    boolean

      Whether or not the array or dtype is of a signed integer dtype and not an instance of timedelta64.

  See also

  `api.types.is_integer_dtype`

    Check whether the provided array or dtype is of an integer dtype.

  `api.types.is_numeric_dtype`

    Check whether the provided array or dtype is of a numeric dtype.

  `api.types.is_unsigned_integer_dtype`

    Check whether the provided array or dtype is of an unsigned integer dtype.

  Examples

      >>> from pandas.api.types import is_signed_integer_dtype
      >>> is_signed_integer_dtype(str)
      False
      >>> is_signed_integer_dtype(int)
      True
      >>> is_signed_integer_dtype(float)
      False
      >>> is_signed_integer_dtype(np.uint64)  # unsigned
      False
      >>> is_signed_integer_dtype("int8")
      True
      >>> is_signed_integer_dtype("Int8")
      True
      >>> is_signed_integer_dtype(pd.Int8Dtype)
      True
      >>> is_signed_integer_dtype(np.datetime64)
      False
      >>> is_signed_integer_dtype(np.timedelta64)
      False
      >>> is_signed_integer_dtype(np.array(["a", "b"]))
      False
      >>> is_signed_integer_dtype(pd.Series([1, 2]))
      True
      >>> is_signed_integer_dtype(np.array([], dtype=np.timedelta64))
      False
      >>> is_signed_integer_dtype(pd.Index([1, 2.0]))  # float
      False
      >>> is_signed_integer_dtype(np.array([1, 2], dtype=np.uint32))  # unsigned
      False