Post

2.2 数据预处理

2.2 数据预处理

读取数据集


1)创建数据集

首先创建一个人工数据集,并存储在CSV(逗号分隔值)文件 ../data/house_tiny.csv中。 以其他格式存储的数据也可以通过类似的方式进行处理。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 导入 os 模块,用于处理文件和目录路径
import os

# 创建目录(如果不存在):
# - os.path.join('..', 'data') 生成跨平台的路径 "../data"
# - exist_ok=True 表示如果目录已存在,不会报错
os.makedirs(os.path.join('..', 'data'), exist_ok=True)

# 定义 CSV 文件路径:
# - os.path.join('..', 'data', 'house_tiny.csv') 生成 "../data/house_tiny.csv"
data_file = os.path.join('..', 'data', 'house_tiny.csv')

# 打开文件并写入数据:
# - 'w' 表示写入模式(如果文件存在则覆盖,不存在则创建)
with open(data_file, 'w') as f:
# 写入 CSV 的列名(表头)
f.write('NumRooms,Alley,Price\n')  # 列名:房间数量, 小巷类型, 价格

    # 写入 4 条房屋数据记录(每行一个样本)
    f.write('NA,Pave,127500\n')   # 房间数缺失,小巷铺砌,价格 127500
    f.write('2,NA,106000\n')      # 2 个房间,小巷信息缺失,价格 106000
    f.write('4,NA,178100\n')      # 4 个房间,小巷信息缺失,价格 178100
    f.write('NA,NA,140000\n')     # 房间数和小巷信息均缺失,价格 140000

# 文件会在 with 块结束后自动关闭

2)读入数据集

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

1
2
3
4
import pandas as pd

data = pd.read_csv(data_file)
print(data)

3)处理缺失值

1
2
3
4
# ":" 表示选择所有行, "0:2" 表示选择第 0 列到第 1 列
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]

inputs = inputs.fillna(inputs.mean()) # mean函数用于求平均值
This post is licensed under CC BY 4.0 by the author.