pandas.DataFrame.round#

DataFrame.round(decimals=0, *args, **kwargs)[источник]#

Округление DataFrame до переменного числа десятичных знаков.

Параметры:
decimalsint, dict, Series

Количество знаков после запятой для округления каждого столбца. Если указано целое число, округлите каждый столбец до одинакового количества знаков. В противном случае словарь и Series округляют до переменного количества знаков. Имена столбцов должны быть в ключах, если decimals является словареподобным, или в индексе, если decimals является Series. Любые столбцы, не включенные в decimals останется как есть. Элементы из decimals которые не являются столбцами входных данных, будут проигнорированы.

*args

Дополнительные ключевые слова не оказывают эффекта, но могут приниматься для совместимости с numpy.

**kwargs

Дополнительные ключевые слова не оказывают эффекта, но могут приниматься для совместимости с numpy.

Возвращает:
DataFrame

DataFrame с округленными затронутыми столбцами до указанного количества десятичных знаков.

Смотрите также

numpy.around

Округлить массив numpy до заданного количества знаков после запятой.

Series.round

Округлить Series до заданного количества знаков после запятой.

Примеры

>>> 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

Предоставляя целое число, каждый столбец округляется до одинакового количества десятичных знаков

>>> 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

С помощью словаря количество знаков после запятой для конкретных столбцов может быть указано с именами столбцов в качестве ключей и количеством десятичных знаков в качестве значений

>>> 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

Используя Series, количество знаков после запятой для конкретных столбцов можно указать с именами столбцов в качестве индекса и количеством десятичных знаков в качестве значения

>>> 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