by.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.round  #

DataFrame.  round  (  _ decimals  =  0  _ , _ *  args  _ , _ **  kwargs  _ )
[ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/frame.py#L10848-L10970) #

    

Round a DataFrame to a variable number of decimal places.

Parameters  :

    

**decimals** int, dict, Series

    

Number of decimal places to round each column to. If an int is given, round
each column to the same number of places. Otherwise dict and Series round to
variable numbers of places. Column names should be in the keys if  decimals
is a dict-like, or in the index if  decimals  is a Series. Any columns not
included in  decimals  will be left as is. Elements of  decimals  which are
not columns of the input will be ignored.

***args**

    

Additional keywords have no effect but might be accepted for compatibility
with numpy.

****kwargs**

    

Additional keywords have no effect but might be accepted for compatibility
with numpy.

Returns  :

    

DataFrame

    

A DataFrame with the affected columns rounded to the specified number of
decimal places.

See also

[ ` numpy.around  `
](https://numpy.org/doc/stable/reference/generated/numpy.around.html#numpy.around
"\(in NumPy v1.26\)")

    

Round a numpy array to the given number of decimals.

[ ` Series.round  ` ](pandas.Series.round.html#pandas.Series.round
"pandas.Series.round")

    

Round a Series to the given number of decimals.

Examples

    
    
    >>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],
    ...                   columns=['dogs', 'cats'])
    >>> df
        dogs  cats
    0  0.21  0.32
    1  0.01  0.67
    2  0.66  0.03
    3  0.21  0.18
    

By providing an integer each column is rounded to the same number of decimal
places

    
    
    >>> df.round(1)
        dogs  cats
    0   0.2   0.3
    1   0.0   0.7
    2   0.7   0.0
    3   0.2   0.2
    

With a dict, the number of places for specific columns can be specified with
the column names as key and the number of decimal places as value

    
    
    >>> df.round({'dogs': 1, 'cats': 0})
        dogs  cats
    0   0.2   0.0
    1   0.0   1.0
    2   0.7   0.0
    3   0.2   0.0
    

Using a Series, the number of places for specific columns can be specified
with the column names as index and the number of decimal places as value

    
    
    >>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])
    >>> df.round(decimals)
        dogs  cats
    0   0.2   0.0
    1   0.0   1.0
    2   0.7   0.0
    3   0.2   0.0
    

[ __ previous  pandas.DataFrame.rank  ](pandas.DataFrame.rank.html "previous
page") [ next  pandas.DataFrame.sem  __ ](pandas.DataFrame.sem.html "next
page")

__ On this page

  * ` DataFrame.round()  `

[ __ Show Source
](../../_sources/reference/api/pandas.DataFrame.round.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.