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