1、
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') # 创建的人工数据集有四行三列
这段代码建立csv文件的时候报错
~\.conda\envs\pytorch\lib\os.py in makedirs(name, mode, exist_ok)
221 return
222 try:
--> 223 mkdir(name, mode)
224 except OSError:
225 # Cannot rely on checking for EEXIST, since the operating system
PermissionError: [WinError 5] 拒绝访问。: '..\\data'
解决方法https://blog.csdn.net/qq_35184355/article/details/120894401
解决思路是将..替换为地址,同时要注意斜杠和反斜杠的问题。
2、
# 创建数据集
import os
os.makedirs(os.path.join('D:/Users/Lenovo/pythonlearning','data'),exist_ok=True)
data_file = os.path.join('D:/Users/Lenovo/pythonlearning','data','house_tiny.csv')
# os.path.join('l路径','文件名')拼接路径;os.makedirs(path,exist_ok = True指定了,如果某个要创建的目录已经存在,也不报错。)创建文件夹
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)
# 缺失值和字符串变成了数值,可以变成pytorch.tensor变成张量
import torch
x,y=torch.tensor(inputs.values),torch.tensor(outputs.values)
x,y