for
петель действительно "плохо"? Если нет, то в какой (их) ситуации (ах) они будут лучше, чем использование более традиционного "векторизованного" подхода? 1
Мне знакомо понятие "векторизация" и то, как pandas использует векторизованные методы для ускорения вычислений. Векторизованные функции транслируют операции по всей серии или DataFrame для достижения ускорений, значительно превышающих обычные итерации по данным.
Тем не менее, я очень удивлен увидеть много кода ( в том числе из ответов на переполнение стека) предлагает решения проблем, которые связаны сквозными через данные, используя for
петель и списковых. Документация и API говорят, что циклы "плохие", и что "никогда" не следует перебирать массивы, серии или DataFrames. Так почему же я иногда вижу пользователей, предлагающих решения на основе петель?
1 - Хотя это правда, что вопрос звучит несколько широко, правда состоит в том, что существуют очень специфические ситуации, когда циклы for
обычно лучше, чем обычные итерации по данным.Этот пост имеет целью захватить это для потомков.