04.数据操作
创建数组
形状
每个元素的数据类型
每个元素的值
数据操作
数据预处理
import os
import torch
import pandas as pd
# 1.创建一个人工数据集,并存储在csv(逗号分隔值)文件
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')
# 2.读取文件
data = pd.read_csv(data_file)
print(data)
# 3.为了处理缺失数据,典型的方法包括插值和删除,这里,考虑插值
inputs, outputs = data.iloc[:,0:2], data.iloc[:,2]
inputs = inputs.fillna(inputs.mean(numeric_only = True))
print(inputs)
# 对于inputs中的类别值或离散值,我们将NaN视为一个类别
inputs = pd.get_dummies(inputs,dummy_na=True,dtype=int)
print(inputs)
# 现在inputs 和 outputs 中所有条目都是数值类型,他们可以转换为张量格式
X,y = torch.tensor(inputs.values), torch.tensor(outputs.values)
print(X,y)