前言
本文记录数据预处理部分内容
一、创建一个CSV文件
包括创建一个文件夹。
import os
os.makedirs(os.path.join('..','data'),exist_ok = True)#创建一个文件夹
data_file = os.path.join('..','data','house_tiny.csv')
os.makedirs(name, mode=0o777, exist_ok=False)
- name:你想创建的目录名
- mode:要为目录设置的权限数字模式。
- exist_ok:是否在目录存在时触发异常。如果exist_ok为False(默认值),则在目标目录已存在的情况下触发FileExistsError异常;如果exist_ok为True,则在目标目录已存在的情况下不会触发FileExistsError异常。
os.path.join()函数用于路径拼接文件路径,可以传入多个路径。
- 从后往前看
二、pandas的切片函数
1.iloc:通过行/列号选取数据
代码如下(示例):
inputs, outputs = data.iloc[:,0:2],data.iloc[:,2]
[行,列],第一个是前三列每一行,第二个是第三列每一行
2.loc:通过标签选取数据
代码如下(示例):
暂无
三、补充离散型缺失值–get_dummies
pd.get_dummies相当于onehot编码,常用与把离散的类别信息转化为onehot编码形式
inputs = pd.get_dummies(inputs,dummy_na=True)
print(inputs)
输入:
输出:
将离散的价格类分为两列,用one-hot表示
补充一嘴,补充数值型离散值使用:
inputs = inputs.fillna(inputs.mean())
总结
import os
os.makedirs(os.path.join('..','data'),exist_ok = True)#创建一个文件夹
data_file = os.path.join('..','data','house_tiny.csv')
with open(data_file,'w') as f:
f.write('NumRooms,Alley,Price\n')#列名
f.write('NA,Pave,127500\n')
f.write('2,NA,106000\n')
f.write('4,NA,178100\n')
f.write('NA,NA,140000\n')
import pandas as pd
data = pd.read_csv(data_file)
print(data)
inputs, outputs = data.iloc[:,0:2],data.iloc[:,2]
inputs = inputs.fillna(inputs.mean())
print(inputs)
inputs = pd.get_dummies(inputs,dummy_na=True)
print(inputs)