def chunk(it, size):
it = iter(it)
return iter(lambda: tuple(islice(it, size)), ())
Results = []
values = list(df['values'])
name = list(df['name'])
mergedata = {name_: counts_ for name_, counts_ in zip(name, list(chunk(values, 20)))}
print(mergedata)
for name_, counts in mergedata.items():
if all( 5 < values_ < 16 for values_ in counts ):
Results.append(f'{name_} passed.\n')
else:
Results.append(f'{name_} failed.\n')
У меня есть скрипт, который читает два столбца из файла CSV.«Имя» и «Значение».Затем, основываясь на значениях, он дает пропуск или неудачу, если все значения для этого человека равны [5,16].Но команда chunk дает мне только последнее значение.Например: «Ник: 5» и «Дэн: 4».Каждому человеку присвоено 20 ценностей.Чего мне не хватает в моем коде?
chunk (values, 20) # Куски и распечатки 20 случайных значений для первого отдельного (Ника) Пример: Nick: 9,3,5,2,6,7, ..... chunk (values,1) # Блок и выводит последнее значение для всех людей: например: «Ник: 5» и «Дан: 4».
. Name Values
Nick 4
Nick 14
Nick 6
Nick 4
Nick 11
Nick 17
Nick 19
... ...
James 12
James 4
James 1
James 2
James 5
... ...
Цель: {Ник: 4,14, 6,4,11,17,19 ...} Джеймс: {Джеймс: 12,4,1,2,5, ...}
Вывод: Ник не удалось (из-за 17 и 19)Джеймс прошел