Есть ли способ ускорить сравнение if при итерации по столбцу в цикле for (PANDAS)?

#python #python-3.x #pandas #for-loop

#python #python-3.x #pandas #for-цикл

Вопрос:

Я перебираю столбец pandas df следующим образом:

 index | Creative Size     | Formato(IAB)
____________________________________
1     | '320x50'          | 
2     | 'something else'  |
3     | 'some string'     |
  

Мой код таков:

 count=0
DB2_NO_YOUTUBE_NO_VIDEO.reset_index(inplace=True, drop=True)
for i in DB2_NO_YOUTUBE_NO_VIDEO['Creative Size']:
    if i == '300x100' or i == '320x250' or i == '320x50' or i == '600x150':
        DB2_NO_YOUTUBE_NO_VIDEO.loc[count, 'Formato(IAB)']='DISPLAY STD'
    count= count 1
  

Он сравнивает строку строки в столбце с указанным условием и, в случае, если условие истинно, заменяет соответствующее значение в другом столбце (Formato (IAB)) значением ‘DISPLAY STD’. Это очень медленно.
Не могли бы вы предложить какие-либо улучшения, чтобы сделать это быстрее?

Комментарии:

1. df.loc[df['Creative Size'].isin(list_of_acceptable_values), 'Format'] = 'STD' . Применяйте отображение в нижнем регистре и т. Д. По мере необходимости.

2. Как правило, в программировании pandas / numpy существует множество операций, позволяющих избежать for зацикливания.