pandas.api.types.is_signed_integer_dtype#

pandas.api.types.is_signed_integer_dtype(arr_or_dtype)[source]#

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_dtypearray-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.core.dtypes.common 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