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

在 Jupyter Notebook 中,Out[] 是指代码单元格(Cell)执行后的输出结果。每个代码单元格运行后,其输出结果会被自动赋予一个递增的 Out[] 标签,方便后续引用和查看。

例如,执行 print('Hello World!') 后,输出区域会显示 Out[1]: 'Hello World!',其中 Out[1] 表示这是第一个代码单元格的输出结果。

代码示例解析

以下代码示例演示了如何使用 yield 生成训练数据:

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, :]

代码解释:

  • gen_train_data 函数: 用于生成训练数据,接受三个参数:
    • df: 一个 Pandas DataFrame,包含所有数据。
    • sequence_length: 序列长度,表示每个训练样本包含的时间步数。
    • columns: 一个列表,指定 DataFrame 中用于训练的列名。
  • data = df[columns].values: 从 DataFrame 中提取指定列的数据,并转换为 NumPy 数组。
  • num_elements = data.shape[0]: 获取数据集中样本的数量。
  • for 循环: 迭代生成训练数据。
    • zip(range(0, num_elements-(sequence_length-1)), range(sequence_length, num_elements+1))**: 生成滑动窗口的起始和结束索引,确保每个训练样本包含 sequence_length 个时间步。
    • yield data[start:stop, :]: 使用 yield 关键字返回一个生成器对象,每次迭代返回一个训练样本,该样本包含从 startstop 行的所有列数据。

yield 关键字的作用:

  • 将函数变成一个生成器。
  • 每次调用生成器时,会从上次离开的位置继续执行,直到遇到 yield 语句,返回当前的值并暂停执行。
  • 使用生成器可以避免一次性生成所有数据,节省内存空间,尤其适用于处理大型数据集。
Jupyter Notebook 中 Out 的含义及用法详解

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

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