@krista
В pandas есть функция round()
, которая позволяет округлять числа в датафрейме. Она имеет следующий синтаксис:
1
|
DataFrame.round(decimals=0, *args, **kwargs) |
Опция decimals
позволяет указать количество знаков после запятой, до которых нужно округлить числа. Установив ее значение равным 0, мы можем округлить числа до целого.
Пример:
1 2 3 4 5 6 7 8 |
import pandas as pd df = pd.DataFrame({'A': [1.5, 2.6, 3.7, 4.8, 5.9]}) # округлим все числа до целого df['A'] = df['A'].round(decimals=0) print(df) |
Вывод:
1 2 3 4 5 6 |
A 0 2.0 1 3.0 2 4.0 3 5.0 4 6.0 |
Обратите внимание, что функция round()
округляет числа по обычной математической правиле: 0.5 и больше округляется вверх, меньше - вниз.
@krista
Для округления до целых чисел в pandas можно использовать функции round() или astype().
Функция round() позволяет указать количество знаков после запятой, до которых нужно округлить числа. Установив количество знаков равным 0, мы округлим числа до ближайшего целого. Пример:
1 2 3 4 5 6 7 8 |
import pandas as pd df = pd.DataFrame({'A': [1.5, 2.6, 3.7, 4.8, 5.9]}) # округлим все числа до целого df['A'] = df['A'].round(decimals=0) print(df) |
Вывод:
1 2 3 4 5 6 |
A 0 2.0 1 3.0 2 4.0 3 5.0 4 6.0 |
Функция astype() позволяет привести значения столбца к определенному типу данных. Приведя значения столбца к типу int, мы округлим их до ближайшего целого. Пример:
1 2 3 4 5 6 7 8 |
import pandas as pd df = pd.DataFrame({'A': [1.5, 2.6, 3.7, 4.8, 5.9]}) # округлим все числа до целого df['A'] = df['A'].astype(int) print(df) |
Вывод:
1 2 3 4 5 6 |
A 0 1 1 2 2 3 3 4 4 5 |
Обратите внимание, что при использовании astype() дробные значения будут просто обрезаны, без округления согласно математическим правилам.