【问题标题】:How to loop a function in a other function in Python Jupyter Notebook?如何在 Python Jupyter Notebook 的另一个函数中循环一个函数?
【发布时间】:2018-12-09 02:27:38
【问题描述】:

我想要的代码是:

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

实际上,我想在 i=1 到 i=n 次中运行 dd[i] 函数。每个循环都会生成di数据集(d0,d1,d2,....)。然后我将合并所有的 di 数据集 (d0,d1,d2....)。

我需要您在这方面的宝贵意见和建议。

注意:dd(value) 是一个需要一个整数才能执行的函数。

这是我在 Stack Overflow 上的第一个问题。对于给您带来的任何不便,我深表歉意。

【问题讨论】:

  • for i in 5: 在第二个例子中应该是 for i in range(5):

标签: python python-3.x for-loop iteration jupyter-notebook


【解决方案1】:

Python 太棒了!您想要的伪代码几乎可以直接转换为有效语法:

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

也就是说,假设我正确理解了您的意图。以上将使df 成为连接n 数据帧的结果。你的伪代码会产生 sum(i for i in range(n)) 数据帧来连接。

一些提示:

  • 查找list comprehensions
  • 您使用 Jupyter 笔记本这一事实并不会改变此功能的工作方式(将其排除在您的问题描述之外可能会吸引更多潜在的回答者)

【讨论】:

  • 非常感谢 @augray 你拯救了我的一天。你真是个天才。
  • @KindDAnonymous:没问题!你在 Stack Overflow 上说“谢谢”的方式是点赞和/或“标记为答案”:-)
  • 如何标记为答案 :( ?我已勾选您的评论。
猜你喜欢
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2015-08-05
  • 1970-01-01
  • 2023-02-06
  • 2019-10-18
  • 2021-03-26
相关资源
最近更新 更多