Сообщить об ошибке.

Метод round() объектов Series/DataFrame в pandas

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

Синтаксис:

DataFrame.round(decimals=0, *args, **kwargs)

Series.round(decimals=0, *args, **kwargs)

Параметры:

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

    Аргумент принимает:

    • для DataFrame - int, dict, Series:

      • в случае dict - имена столбцов должны быть в ключами.
      • в случае Series - имена столбцов должны быть индексами..

    • для Series только int.

  • *args, **kwargs - позиционные и ключевые аргументы не имеют никакого эффекта, но могут быть приняты для совместимости с numpy.

Описание:

Методы DataFrame.round() и Series.round() модуля pandas округляют Series/DataFrame до определенного количества десятичных знаков.

Примеры использования для DataFrame:

>>> import pandas as pd
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

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

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

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

>>> decimals = {'dogs': 1, 'cats': 0}
>>> 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

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

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

Примеры использования для Series:

>>> s = pd.Series([0.1, 1.3, 2.7])
>>> s.round()
# 0    0.0
# 1    1.0
# 2    3.0
# dtype: float64