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 objectsFalse
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
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.isscalar.html