Как зациклить функцию в другой функции в Python Jupyter Notebook? - PullRequest
0 голосов
/ 09 декабря 2018

Мой желаемый код:

def clustering_data(n):
      for i in n:
            di = dd(i)
            DF = [d0, d1, d2, d3,...,d(n-1)]
            df = pd.concat(DF)
      return df

Здесь

  • n = целое число.
  • di = Он будет повторяться и запускать dd [i]функции от i = 0 до i = n раз.
  • dd [i] = Это еще одна функция нашего проекта.
  • DF = Объединение всего набора данных dd [i]
  • df = Окончательный объединенный набор данных

Например, если n равно 5, я хочу, чтобы цикл генерировал следующие процессы:

def clustering_data(5):
      for i in 5:
            d0 = dd(0)
            d1 = dd(1)
            d2 = dd(2)
            d3 = dd(3)
            d4 = dd(4)
            DF = [d0, d1, d2, d3, d4]
            df = pd.concat(DF)
      return df

На самом деле, я быхотел бы запустить функцию dd [i] в ​​i = 1 до i = n раз.Каждый цикл будет генерировать набор данных di (d0, d1, d2, ....).Затем я объединю все наборы данных di (d0, d1, d2 ....).

Мне нужно ваше ценное мнение и предложение на этот счет.

NB: dd(value)это функция, для выполнения которой требуется одно целое число.

И это мой первый вопрос в переполнении стека.Приношу извинения за доставленные неудобства.

1 Ответ

0 голосов
/ 09 декабря 2018

Отличный Python!Ваш желаемый псевдокод почти напрямую переводится в правильный синтаксис:

def clustering_data(n):
    DF = [dd(i) for i in range(n)]
    df = pd.concat(DF)
    return df

То есть, если я правильно понимаю ваши намерения.Вышеуказанное сделает df результатом объединения n фреймов данных.Ваш псевдокод должен был бы создать сумму (i для i в диапазоне (n)) фреймов данных для согласования.

Некоторые советы:

  • Поиск Понимание списка
  • Тот факт, что вы находитесь в записной книжке Jupyter, не меняет работу этой функции (исключая ее из описания вашего вопроса, вероятно, привлечет более широкий набор потенциальных ответчиков)
...