数据预处理
数据预处理
1.创建csv文件
1.1 创建目录
os.makedirs(): 这是一个用于递归创建目录的函数。它接受一个路径作为输入,并创建路径中所有缺失的目录
exist_ok=True: 这是os.makedirs()函数的一个可选参数。当设置为True时,如果目标目录已经存在,函数不会引发错误,而是默默地继续执行。
os.path.join():函数来连接两个路径部分:”..”(表示父目录) 和 “data”
1 | os.makedirs(os.path.join('..', 'data'), exist_ok=True) |
注:如果目录不存在,它将被创建。这样,代码在运行时,如果”data”目录已经存在,它不会抛出异常,而是继续执行。
1.2 创建新文件
1 | with open(data_file, 'w') as f:#打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
2.数据预处理
2.1 读取文件
1 | import pandas as pd |
2.2 数据切片
iloc方法用于基于整数位置对数据进行索引和切片
1 | inputs, outputs = data.iloc[:,0:2], data.iloc[:,2]#iloc方法用于基于整数位置对数据进行索引和切片 |
2.3 缺失值填充
fillna() 方法用指定的值(在这里是 inputs.mean() 即每列的均值)替换DataFrame中的缺失值。
1 | #对筛选出的数值类型列使用 mean() 方法计算各自列的均值进行填充 |
pd.get_dummies()函数对inputs DataFrame 进行独热编码(One-Hot Encoding)处理。
dummy_na=True: 这是pd.get_dummies()函数的一个可选参数。当设置为True时,它会为原始数据中的缺失值创建一个额外的二进制列。
1 | inputs = pd.get_dummies(inputs, dummy_na=True) |
注:独热编码的过程会将inputs DataFrame 中的分类变量转换成二进制的向量表示。对于每个分类变量,它会为每个类别创建一个新的列,其中类别出现的位置为1,其余位置为0。如果某一行数据的分类变量具有某个类别,则该类别对应的列为1,其他类别对应的列都为0。如果原始数据中有缺失值,独热编码会在对应的缺失值列中标记为1。
2.4 类型转换
inputs和outputs中的所有条目都是数值类型,可以转换为张量格式
1 | import torch |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丹青两幻!
评论