Работа с данными в NumPy сулит много преимуществ, но одновременно таит в себе тайны, незнание которых может привести к неприятным проблемам. Так, к их числу относится работа со строками, на хранение которых NumPy выделяет определенную квоту, соответственно, ее превышение может привести к обрезанию. Вы не увидите ошибки, а просто получите некорректное значение, что опаснее по своим последствиям. Так, создадим массив строк, попробуем изменить последний элемент и посмотрим на результат: Как можно заметить, по умолчанию массиву присвоен dtype="<U4", определяющий порядок хранения байтов, тип и размер. U4 - unicode строка из 4 символов. Как следствие, попытка добавления в начало последнего элемента "0" к цели не приводит (происходит обрезание элемента). Исправить ошибку можно увеличив максимальный размер строк, явно указав тип: Альтернативным способом является задание типа object, который позволяет работать с массивом NumPy как со списком обычных объектов Python: Однако это нивелирует преим
Сюрпризы типов данных NumPy, о которых следует знать аналитику
29 июля 202129 июл 2021
14
~1 мин