Выбор ответа Senior Пропуски, дубли и типы обновлено

Дубли и числа с плавающей точкой

Вопрос

В колонке x значения 0.1 + 0.2 и 0.3. Сколько дублей найдёт df.duplicated().sum()?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 0. 0.1 + 0.2 в двоичной плавающей точке равно 0.30000000000000004, это другое число, чем 0.3, поэтому дублей 0.

Варианты ответа

  1. 1
  2. 2
  3. Зависит от версии pandas
  4. 0правильный ответ

Разбор

0.1 + 0.2 в двоичной плавающей точке равно 0.30000000000000004, это другое число, чем 0.3, поэтому дублей 0. Поведение не зависит от версии pandas, это свойство IEEE 754. Перед поиском дублей по вычисленным числам округляйте (round(6)) или храните деньги в копейках целыми.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.