pycharm笔记-动手学深度学习(李沐)数据预处理课后习题

1.删除缺失值最多

​
#创建数据集
import os
os.makedirs(os.path.join('.','Data'),exist_ok=True)
data_file=os.path.join('.','Data','house.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,14000\n')
#读取数据
import pandas as p
data=p.read_csv(data_file)
print(data)
#删除缺失值最多的列(值为NA的为缺失值)
delete=data.drop(colums=data.isnull().sum().idxmax(),axis=1)#axis=1按列删除,axis=0按行删除
print(delete)

​

1、os.makedirs(path,mode=0o777,exist_ok=False):用于递归创建目录,exist_od=True表示若存在目录表示不会报错。

2、os.path.join():用于路径拼接文件路径。

     os.path.join('.','Data','house.csv'):表示当前目录的Data文件夹下的house.csv文件的目录

3、.csv:是一种逗号分隔值格式的文件,用来存储数据的纯文本格式文件。

4、with open(文件名,模式) as 文件对象:

              文件对象.方法()

其中'w'表示打开一个文件只用于写入,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

f.write(str):将字符串写入文件

5、pandas.read_csv():将csv文件转化为DataFrame或者是TextParser。

6、DataFrame.drop(lables=None,axis=0,index=None,colums=None,level=None,inplace=False,erros='raise'):

labels:待删除的行名或列名

axis:删除时所参考的轴

index:待删除的行名

columns:待删除的列名

level:多级列表时使用

inplace:布尔值

7、.isnull().sum():缺失值的数量

8、.idxmax():返回最大值的索引     

2.将预处理后的数据集转换为张量格式

#转换为张量模式
import numpy as np
inputs,outputs=delete.iloc[:,0],delete.iloc[:,1]
inputs=inputs.fillna(np.mean(inputs))
inputs,outputs=torch.tensor(inputs.values),torch.tensor(outputs.values)
print(inputs)
print(outputs)

.fillna():用来填补数据集中缺失值或不完整值的方法

.mean():numpy库中的函数,用来求平均值

torch.tensor(data,dtype=None,device=None,requires_grad=False):是python函数,data可以是list,tuple,NumPy ndarray,scalar和其他类型。

pycharm笔记-动手学深度学习(李沐)数据预处理课后习题_第1张图片

你可能感兴趣的:(python,深度学习)