2.2.数据预处理

2.2.1.读取数据集

os.makedirs(os.path.join('..', 'data'), exist_ok=True)
    # 这行代码的目的是在父目录(..)下创建一个名为 data 的文件夹。如果该文件夹已经存在,则不会抛出错误
    data_file = os.path.join('..', 'data', 'house_tiny.csv')
    # data_file 变量保存了 ../data/house_tiny.csv 的完整路径
    with open(data_file, 'w') as f:
    # 打开了文件 ../data/house_tiny.csv,并准备以写入模式对其进行操作
    # 如果该文件不存在,将会被创建;如果已经存在,文件内容将被清空
  • 代码解读:
    • os.makedirs( ) 用于创建多层级的目录。如果路径中某些目录不存在,它会递归地创建所有目录。
    • exist_ok=True 如果目录已经存在,则不会抛出 FileExistsError 错误。如果设置为 False(默认值),当目录已经存在时,会抛出一个异常。
    • 使用 with 打开文件的好处是,它能确保在文件操作完成后自动关闭文件,而不是手动调用 f.close()。
    • 打开 data_file 文件并将其绑定到变量 f 上。
  • 常见模式:
    • 'w':表示以写入模式打开文件。
      • 如果文件已存在,它将会被覆盖(即清空原文件内容)。
      • 如果文件不存在,会创建新文件。
    • 'r':只读模式,文件必须存在。
    • 'a':附加模式,在文件末尾添加内容,如果文件不存在会创建新文件。
    • 'x':创建新文件并写入,如果文件已经存在会抛出错误。

CSV文件:第一行是表头(包含列名),接下来的每一行代表一个数据记录,而每行中的数据字段通过逗号(或其他分隔符)分隔开

    Name, Age, City
    John, 25, New York
    Anna, 22, London
    Mike, 32, San Francisco

要从创建的 CSV 文件中加载原始数据集,我们导入 pandas 包并调用 read_csv 函数

data = pandas.read_csv(data_file)

2.2.2.处理缺失值

NaN 项代表缺失值。典型的方法包括插值法删除法。

  • 插值法用同一列的均值替换“NaN”项。
  • 删除法则直接忽略缺失值。

2.2.3.转换为张量格式

to_numpy()(Pandas 方法):将 Pandas 数据结构转换为 NumPy 数组

X.numpy()(PyTorch 方法):将 PyTorch 的 Tensor 转换为 NumPy 数组

 X = torch.tensor(inputs.to_numpy(dtype=float))

inputs:通常是一个 Pandas 的 DataFrame 或 Series 对象,它包含了表格或序列的数据

to_numpy( ):是 Pandas 中将 DataFrame 或 Series 转换为 NumPy 数组的方法

torch.tensor( ):这是 PyTorch 的函数,用于将 NumPy 数组转换为 PyTorch 的张量
 

更多推荐