Jupyter Notebook 中 Out 的含义及用法详解

在 Jupyter Notebook 中,'Out[]' 表示代码单元格的输出结果。当你运行一个代码单元格后,Jupyter 会自动将该单元格的输出内容显示在 'Out[]' 后面,并用方括号内的数字标识对应的代码单元格。

示例:gen_train_data 函数解析

以下代码展示了一个名为 'gen_train_data' 的函数,该函数用于生成训练数据:

def gen_train_data(df, sequence_length, columns):
    data = df[columns].values
    num_elements = data.shape[0]

    # -1 and +1 because of Python indexing
    for start, stop in zip(range(0, num_elements-(sequence_length-1)), range(sequence_length, num_elements+1)):
        yield data[start:stop, :]

函数说明:

  • 功能: 该函数用于从数据框中生成指定长度的序列数据,用于训练模型。
  • 参数:
    • df: Pandas 数据框,包含原始数据。
    • sequence_length: 序列长度,表示每个输出序列包含的元素个数。
    • columns: 需要提取的列名,用于选择数据框中的特定列。
  • 返回值: 该函数返回一个生成器对象,每次迭代生成一个序列数据。

代码解析:

  1. data = df[columns].values: 提取指定列的数据,并转换为 NumPy 数组。
  2. num_elements = data.shape[0]: 获取数据行数。
  3. for start, stop in zip(...): 使用 zip 函数生成起始和结束位置的元组,用于划分序列。
  4. yield data[start:stop, :]: 使用 yield 关键字生成序列数据的生成器对象。

'Out[]' 的作用:

当你运行包含 'gen_train_data' 函数定义的代码单元格后,'Out[]' 区域不会显示具体的数值结果,而是显示一个生成器对象的内存地址。这是因为生成器是惰性求值的,只有在被迭代时才会生成数据。

如何使用生成器:

你可以使用 for 循环或 next() 函数迭代生成器对象,获取每个序列数据:

# 使用 for 循环迭代
for sequence in gen_train_data(df, 10, ['column1', 'column2']):
    print(sequence)

# 使用 next() 函数获取下一个序列
generator = gen_train_data(df, 10, ['column1', 'column2'])
next(generator)  # 获取第一个序列
next(generator)  # 获取第二个序列

希望以上解释能够帮助你理解 Jupyter Notebook 中 'Out[]' 的含义以及 'gen_train_data' 函数的用法。

Jupyter Notebook 中 Out 的含义及用法详解

原文地址: https://www.cveoy.top/t/topic/jPdo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录