os.makedirs(os.path.join('.','data'),exist_ok= True)
data_file = os.path.join('.','data','house_tiny.csv')
'.'生成在当前目录中
完整代码
import torch
import os
import pandas as pd
os.makedirs(os.path.join('.', 'data'), exist_ok=True)
data_file = os.path.join('.', 'data', '通信2402.csv')
with open(data_file, 'w',encoding='utf-8') as f:
f.write('Name,性别,Salary,Level\n') # 列名
f.write('1,男,127500,1\n') # 每行表示一个数据样本
f.write('2,女,106000,2\n')
f.write('3,男,178100,3\n')
f.write('4,男,NA,NA\n')
f.write('5,男,NA,NA\n')
f.write('NA,NA,106000,NA\n')
f.write('7,男,178100,NA\n')
f.write('8,男,140000,2\n')
data = pd.read_csv(data_file)
print(data)
# 计算每一列的缺失值数量
missing_counts = data.isnull().sum()###计算每一列 缺失值的数量 是缺失值为True= 1
# 找到缺失值最多的列的名称
column_to_drop = missing_counts.idxmax() ##column_to_drop = level
# 删除缺失值最多的列
data_cleaned = data.drop(columns=[column_to_drop]) ##丢弃掉level行
# 打印处理后的数据
print("\n删除缺失值最多的列后数据:")
print(data_cleaned)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.mean(numeric_only = True))###将Name行进行平均填充
print(inputs)
inputs = pd.get_dummies(inputs, dummy_na=True,dtype=int)###独热编码
x,y = torch.tensor(inputs.values),torch.tensor(outputs.values)
print(x)
print(y)
data_file 为写入文件名称,'w'为写模式,encoing='utf-8'处理中文字符
with open(data_file, 'w',encoding='utf-8') as f:
计算每一列NAN个数并求和 赋值给变量
isnull()
missing_counts = data.isnull().sum()###计算每一列 缺失值的数量 是缺失值为True= 1
idxmax
它通常用于查找数据集中最大值对应的行或列名。