Метод применения, описанный @RuggeroTurra, занимает намного больше времени для 500 тыс. строк. Я закончил использовать что-то вроде
df['result'] = ((df.a == 0) & (df.b != 1)).astype(int) * 2 + \
((df.a != 0) & (df.b != 1)).astype(int) * 3 + \
((df.a == 0) & (df.b == 1)).astype(int) * 4 + \
((df.a != 0) & (df.b == 1)).astype(int) * 5
, где метод apply занял 25 секунд, и этот метод выше занял около 18 мс.
Ваши очищенные данные находятся в response.text
, печать response
покажет вам только код состояния. Посмотрите документы здесь: http://docs.python-requests.org/en/master/api/#requests.Response