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
ndimGet 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 returnsFalsefor most non-numerical elements such as strings.In most cases
np.ndim(x) == 0should 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 thedxarguments togradientand thebinsargument tohistogram. Some key differences:x
isscalar(x)np.ndim(x) == 0PEP 3141 numeric objects (including builtins)
TrueTruebuiltin string and buffer objects
TrueTrueother builtin objects, like
pathlib.Path, Exception, the result ofre.compileFalseTruethird-party objects like
matplotlib.figure.FigureFalseTruezero-dimensional numpy arrays
FalseTrueother numpy arrays
FalseFalselist, tuple, and other sequence objects
FalseFalseExamples
>>> 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
