数据操作-将一个临时生产的CSV转换为Tensor(向量)
# 首先创建一个临时CSV数据表
import os os.makedirs(os.path.join('..', 'py_data'), exist_ok=True) data_file = os.path.join('..', 'py_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 os import torch import pandas as pd data_file = os.path.join('..', 'py_data', 'house_tiny.csv') data = pd.read_csv(data_file) print('First_result:\n', data) # 为了处理缺失的“数值”,使用“插值” inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2] inputs = inputs.fillna(inputs.mean()) print('Second_result:\n', inputs) # 为了处理缺失的“字符串”,我们将"NaN"视为一个类别,使用类别值或离散值 inputs = pd.get_dummies(inputs, dummy_na=True) print('Third_result:\n', inputs) # 现在inputs和outputs中的所有条目都是数值类型,它们可以转换为张量格式 x, y = torch.tensor(inputs.values), torch.tensor(outputs.values) print('Final_result:\n', x, y)