Я создаю новую фиктивную переменную, основанную на заданном столбце и критерии. Ниже приведен код, с которым я работаю. Это работает, но слишком медленно для того, что я хотел бы сделать. Есть ли более быстрый, возможно, векторизованный способ создания манекенов в пандах? В частности, согласно моему примеру?Pandas Оптимизированный способ создания Dummy-Variable?
Я искал функцию get_dummies в пандах, но, похоже, что-то немного отличается от того, что я здесь делаю. Я мог ошибаться, хотя, если у кого-то есть способ заставить get_dummies работать с этим примером, это тоже будет приемлемым ответом.
def flagger(row, criteria, col):
if row[col] <= criteria:
return 1
if row[col] > criteria:
return 0
dstk['dropflag'] = dstk.apply(lambda row: flagger(row, criteria, col), axis=1)
Редактировать: Здесь есть два хороших ответа. С первого взгляда они выглядят одинаково быстро (по крайней мере, до того же порядка), поэтому я просто принял их. Если кто-то захочет сделать более серьезное профилирование, я был бы счастлив пересмотреть свой выбор ответа.
Просто немного опечатка .. Должно быть (DSTK [Col] <= критерии). Благодаря! – sfortney
@sfortney: Спасибо за исправление. – unutbu