李沐深度学习 自制数据集

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

它通常用于查找数据集中最大值对应的行或列名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值