#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
зацикливания.