Когда я пытаюсь запустить приведенный ниже код для списка значений, я получаю сообщение об ошибке:
-> 3088 поднять ValueError('индекс должен быть монотонно возрастающим или убывающим')
Однако, когда я запускаю этот код для одного значения. Он выполняется.
Не работает:
def block(host):
time_values = failedIP_df.ix[[host]].set_index(keys='index')['timestamp']
if (return_seconds(time_values[2:3].values[0]) \
- return_seconds(time_values[0:1].values[0]))<=20:
blocked_host.append(time_values[3:].index.tolist())
list(map(block, failedIP_list))
Работает:
host='unicomp6.unicomp.net'
block(host)
Образец данных:
FailedIP_df:
timestamp index
host
199.72.81.55 01/Jul/1995:00:00:01 0
unicomp6.unicomp.net 01/Jul/1995:00:00:06 1
freenet.edmonton.ab.ca 01/Jul/1995:00:00:12 12
burger.letters.com 01/Jul/1995:00:00:12 14
205.212.115.106 01/Jul/1995:00:00:12 15
129.94.144.152 01/Jul/1995:00:00:13 21
unicomp6.unicomp.net 01/Jul/1995:00:00:07 415
unicomp6.unicomp.net 01/Jul/1995:00:00:08 226
unicomp6.unicomp.net 01/Jul/1995:00:00:21 99
129.94.144.152 01/Jul/1995:00:00:14 41
129.94.144.152 01/Jul/1995:00:00:15 52
129.94.144.152 01/Jul/1995:00:00:17 55
129.94.144.152 01/Jul/1995:00:00:18 75
129.94.144.152 01/Jul/1995:00:00:21 84
FailedIP_list = ['199.72.81.55', '129.94.144.152', 'unicomp6.unicomp.net']
Пример вывода: индекс всех хостов, которым не удалось войти в систему в течение 20 секунд после трех попыток.
blocked_list=[99, 55, 75, 84]
Я хочу, чтобы мой код выполнялся для всех значений (т.е. списка IP-адресов) в списке. Я был бы очень признателен за помощь в этом. Спасибо.