Перебор элементов внутри датасета

У меня есть датасет, колонки с которыми я работаю это chactnoe и DATE, в общем составила такое условие, но оно останавливается после первого принта, подскажите пожалуйста как исправить это. Заранее благодарю

print(len(chactnoe)) # 3163

def data(input):
  res = []
  res_small = []
  for i in range(1, len(input)):
    if i > 0.8:
      res.append(i)
      if len(res) > 10:
        print("check min_value")
        for j in range(len(res), len(res) + 9):
          res_small.append(j)
          if sum(res_small)/len(res_small) < 0.5:
            print("see you soon")

result = data(chactnoe)


Ответы (1 шт):

Автор решения: Швеев Алексей

Смею только предположить что вам именно надо в этом коде, но вы не используйте входные данные вообще никак.

Допустим у нас имеется массив

array = ["a", "b", "c"]

Что бы пройтись по каждому элементу мы можем использовать for:

for element in array:
  print(element, end=", ")

Что выведет нам a, b, c,

range же в свою очередь (если сильно упростить) генерирует массив [start, start + 1, ..., end - 1].

Таким образом

range(5) == [0, 1, 2, 3, 4]
range(2, 4) == [2, 3]
# и т. д.

А это значит, что

array = ["a", "b", "c"]
len(array) == 3 # длинна массива
range(len(array)) == range(3) == [0, 1, 2]

Таким образом:

for i in range(len(array)): ...

эквивалентно

for i in [0, 1, 2]: ...

Т. е. i будет принимать значения от 0 до len(array) (длинная массива)

А ещё input является ключевым словом и его бы заменить по хорошему... Например на data. А название метода тогда на process_data

А ещё вы ничего не возвращаете из своего метода.

Похоже вы хотели сделать что то типо такого:

def process_data(data):
  res = []
  res_small = []

  for i in data:
    if i > 0.8:
      res.append(i)
      if len(res) > 10:
        print("check min_value")

        # Проходимся по последним 10 элементам res:
        for j in res[-10:]: 
          res_small.append(j)
          if sum(res_small)/len(res_small) < 0.5:
            print("see you soon")

  return res_small

А вообще хотелось бы услышать полную задачу, что бы я вам помог написать более красивый и понятный код

→ Ссылка