numpy 1.22.4 Pypi GitHub Homepage
Other Docs
NotesParametersBackRef
set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, *, legacy=None)

These options determine the way floating point numbers, arrays and other NumPy objects are displayed.

Notes

formatter is always reset with a call to set_printoptions .

Use printoptions as a context manager to set the values temporarily.

Parameters

precision : int or None, optional

Number of digits of precision for floating point output (default 8). May be None if :None:None:`floatmode` is not fixed , to print as many digits as necessary to uniquely specify the value.

threshold : int, optional

Total number of array elements which trigger summarization rather than full repr (default 1000). To always use the full repr without summarization, pass :None:None:`sys.maxsize`.

edgeitems : int, optional

Number of array items in summary at beginning and end of each dimension (default 3).

linewidth : int, optional

The number of characters per line for the purpose of inserting line breaks (default 75).

suppress : bool, optional

If True, always print floating point numbers using fixed point notation, in which case numbers equal to zero in the current precision will print as zero. If False, then scientific notation is used when absolute value of the smallest number is < 1e-4 or the ratio of the maximum absolute value to the minimum is > 1e3. The default is False.

nanstr : str, optional

String representation of floating point not-a-number (default nan).

infstr : str, optional

String representation of floating point infinity (default inf).

sign : string, either '-', '+', or ' ', optional

Controls printing of the sign of floating-point types. If '+', always print the sign of positive values. If ' ', always prints a space (whitespace character) in the sign position of positive values. If '-', omit the sign character of positive values. (default '-')

formatter : dict of callables, optional

If not None, the keys should indicate the type(s) that the respective formatting function applies to. Callables should return a string. Types that are not specified (by their corresponding keys) are handled by the default formatters. Individual types for which a formatter can be set are:

floatmode : str, optional

Controls the interpretation of the :None:None:`precision` option for floating-point types. Can take the following values (default maxprec_equal):

  • 'fixed': Always print exactly :None:None:`precision` fractional digits,

    even if this would print more or fewer digits than necessary to specify the value uniquely.

  • 'unique': Print the minimum number of fractional digits necessary

    to represent each value uniquely. Different elements may have a different number of digits. The value of the :None:None:`precision` option is ignored.

  • 'maxprec': Print at most :None:None:`precision` fractional digits, but if

    an element can be uniquely represented with fewer digits only print it with that many.

  • 'maxprec_equal': Print at most :None:None:`precision` fractional digits,

    but if every element in the array can be uniquely represented with an equal number of fewer digits, use that many digits for all elements.

legacy : string or `False`, optional

If set to the string :None:None:`'1.13'` enables 1.13 legacy printing mode. This approximates numpy 1.13 print output by including a space in the sign position of floats and different behavior for 0d arrays. This also enables 1.21 legacy printing mode (described below).

If set to the string :None:None:`'1.21'` enables 1.21 legacy printing mode. This approximates numpy 1.21 print output of complex structured dtypes by not inserting spaces after commas that separate fields and after colons.

If set to :None:None:`False`, disables legacy mode.

Unrecognized strings will be ignored with a warning for forward compatibility.

versionadded
versionchanged

Set printing options.

See Also

array2string
get_printoptions
printoptions
set_string_function

Examples

Floating point precision can be set:

>>> np.set_printoptions(precision=4)
... np.array([1.123456789]) [1.1235]

Long arrays can be summarised:

>>> np.set_printoptions(threshold=5)
... np.arange(10) array([0, 1, 2, ..., 7, 8, 9])

Small results can be suppressed:

>>> eps = np.finfo(float).eps
... x = np.arange(4.)
... x**2 - (x + eps)**2 array([-4.9304e-32, -4.4409e-16, 0.0000e+00, 0.0000e+00])
>>> np.set_printoptions(suppress=True)
... x**2 - (x + eps)**2 array([-0., -0., 0., 0.])

A custom formatter can be used to display array elements as desired:

>>> np.set_printoptions(formatter={'all':lambda x: 'int: '+str(-x)})
... x = np.arange(3)
... x array([int: 0, int: -1, int: -2])
>>> np.set_printoptions()  # formatter gets reset
... x array([0, 1, 2])

To put back the default options, you can use:

>>> np.set_printoptions(edgeitems=3, infstr='inf',
... linewidth=75, nanstr='nan', precision=8,
... suppress=False, threshold=1000, formatter=None)

Also to temporarily override options, use printoptions as a context manager:

>>> with np.printoptions(precision=2, suppress=True, threshold=5):
...  np.linspace(0, 10, 10) array([ 0. , 1.11, 2.22, ..., 7.78, 8.89, 10. ])
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

numpy.core.arrayprint.set_string_function numpy.get_printoptions numpy.set_printoptions scipy.signal._savitzky_golay.savgol_filter scipy.linalg._basic.solve_circulant numpy.array_repr numpy.core.arrayprint.array2string numpy.printoptions numpy.array2string scipy.linalg._special_matrices.dft scipy.special._basic.diric numpy.array_str scipy.special._logsumexp.softmax

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /numpy/core/arrayprint.py#116
type: <class 'function'>
Commit: