Почему в pandas после округления увеличивается количество разрядов в дробной части?

  • 13 августа 2023 г. 14:45
Ответы на вопрос 2
В pandas при выводе данных в таблицу используется форматирование чисел с фиксированной точкой (float), который, по умолчанию, отображает до 6 знаков после запятой. Однако, при использовании iloc для доступа к конкретным значениям в таблице, pandas выводит значения с полной точностью, то есть с максимальным количеством знаков после запятой.

Если вам требуется отображение только двух знаков после запятой при использовании iloc, вы можете применить функцию round() для округления значения перед его выводом. Например:

```python
table.iloc[row_index, column_index].round(2)
```

где `row_index` и `column_index` - индексы соответствующей ячейки в таблице.

Если вам необходимо применить это округление для всей сводной таблицы, вы можете использовать метод `applymap()` вместе с функцией `round()`:

```python
table.applymap(lambda x: round(x, 2))
```

Это применит функцию `round()` ко всем элементам в таблице и округлит значения до двух знаков после запятой.
Это не связано с библиотекой pandas, проблема заключается в том, как число отображается в консоли. Некоторые числа нельзя точно представить с двумя знаками после запятой. В случае с переменной bad_rounding_result = pivot_table_type_of_expenses.iloc[6, 1], оно будет отображаться нормально в датафрейме df1. Если вы хотите извлечь это число для дальнейших вычислений, вы будете использовать df1.iloc[0,0]. Если вам нужно отформатировать его как строку после вычислений для отчетности, вы можете использовать метод форматирования строки.
Похожие вопросы