Метод round
Метод round применяется к Series
и возвращает новый объект с элементами, округлёнными
до указанного количества десятичных знаков.
Основным параметром можно передать число десятичных знаков
после запятой decimals. Если параметр не указан,
округление происходит до целых чисел.
Метод не изменяет исходную серию, а возвращает новую.
Синтаксис
ser.round([decimals])
Пример
Давайте округлим числа с плавающей точкой до двух знаков:
import pandas as pd
ser = pd.Series([3.1415, 2.7182, 1.4142])
res = ser.round(2)
print(res)
Результат выполнения кода:
0 3.14
1 2.72
2 1.41
dtype: float64
Пример
Теперь округлим значения до целых чисел, передав аргумент равный нулю:
import pandas as pd
ser = pd.Series([2.7, 3.2, 5.8, 6.5])
res = ser.round(0)
print(res)
Результат выполнения кода:
0 3.0
1 3.0
2 6.0
3 6.0
dtype: float64
Пример
Если не передавать параметр, округление также происходит до целых чисел. Результат будет аналогичен предыдущему примеру:
import pandas as pd
ser = pd.Series([4.2, 6.7, 9.1])
res = ser.round()
print(res)
Результат выполнения кода:
0 4.0
1 7.0
2 9.0
dtype: float64
Пример
Рассмотрим, что происходит при отрицательном количестве десятичных знаков. В этом случае округление производится до десятков, сотен и так далее:
import pandas as pd
ser = pd.Series([123.456, 789.101, 456.789])
res = ser.round(-1)
print(res)
Результат выполнения кода:
0 120.0
1 790.0
2 460.0
dtype: float64
Пример
Метод также работает с целочисленными данными,
но их тип останется int, так как округление
не меняет их при нулевом количестве знаков:
import pandas as pd
ser = pd.Series([1, 2, 3])
res = ser.round(2)
print(res)
Результат выполнения кода:
0 1
1 2
2 3
dtype: int64