numpy.isscalar#
- numpy.isscalar(element)[source]#
Returns True if the type of element is a scalar type.
- Parameters
- elementany
Input argument, can be of any type and shape.
- Returns
- valbool
True if element is a scalar type, False if it is not.
See also
ndim
Get the number of dimensions of an array
Notes
If you need a stricter way to identify a numerical scalar, use
isinstance(x, numbers.Number)
, as that returnsFalse
for most non-numerical elements such as strings.In most cases
np.ndim(x) == 0
should be used instead of this function, as that will also return true for 0d arrays. This is how numpy overloads functions in the style of thedx
arguments togradient
and thebins
argument tohistogram
. Some key differences:x
isscalar(x)
np.ndim(x) == 0
PEP 3141 numeric objects (including builtins)
True
True
builtin string and buffer objects
True
True
other builtin objects, like
pathlib.Path
, Exception, the result ofre.compile
False
True
third-party objects like
matplotlib.figure.Figure
False
True
zero-dimensional numpy arrays
False
True
other numpy arrays
False
False
list, tuple, and other sequence objects
False
False
Examples
>>> np.isscalar(3.1) True >>> np.isscalar(np.array(3.1)) False >>> np.isscalar([3.1]) False >>> np.isscalar(False) True >>> np.isscalar('numpy') True
NumPy supports PEP 3141 numbers:
>>> from fractions import Fraction >>> np.isscalar(Fraction(5, 17)) True >>> from numbers import Number >>> np.isscalar(Number()) True