Статья Автор: Деникина Н.В., Деникин А.В.

Когда число оказывается названием группы

В другой таблице район доставки записан числами:

  A B C
1 order_id district_code distance_km
2 501 2 4.8
3 502 1 7.1
4 503 3 2.6
5 504 2 5.3

Расшифровка такая: 1 = Север, 2 = Центр, 3 = Юг.

Pandas видит district_code как целое число. Но можно ли сказать, что район 3 в три раза больше района 1? Нет. Числа здесь работают как ярлыки.

Необходимо уметь отделять числовую запись от числового смысла. Код категории может быть числом, но арифметика с ним не обязана иметь смысл.

Инструменты

Во-первых, можно посмотреть технический тип:



Во-вторых, числовые коды можно расшифровать понятными названиями.



.map(names) в pandas берёт каждое значение столбца и заменяет его по словарю names.

Мы не исправляли ошибку в данных: код был корректным. Мы просто сделали смысл явным.
 


Проверь себя

Почему среднее значение district_code почти ничего не говорит о «среднем районе»?


Подробный разбор

Если заменить коды районов 1, 2, 3 на 10, 20, 30, районы останутся теми же, а среднее изменится в десять раз.

Значит, среднее зависит от произвольного способа нумерации, а не от реального свойства района.

Печать