2.2 数据预处理

文章讲述了使用Python的os包创建目录和文件路径,以及在文件中写入数据。接着介绍了Pandas如何读取CSV文件,并处理缺失值。此外,还涉及了数据预处理,包括离散特征的编码和数值缺失值的填充。最后,讨论了64位与32位浮点数的精度差异。
摘要由CSDN通过智能技术生成

Os包

1.利用os.makedirs生成文件夹os.makedirs(os.path.join('..', 'data'), exist_ok=True),

内部参数:os.path.join()表示将多个路径组合成一个新的路径,将文件夹的上层路径和data组成一个新的路径,允许不同系统的操作符,在windows中,是反斜杠表示分隔,macos和linux系统是利用正斜杠表示分隔

exist_ok=True表示目标目录已经存在的情况下不会报出异常,如果是True不会抛出异常,直接返回,如果是False会抛出异常

2.利用os.path.join('..', 'data', 'house_tiny.csv')生成一个文件路径,还并没有生成csv文件

3. with open(data_file, 'w') as f:使用了open函数以写入模式打开了house_tiny.csv文件,然后在该文件中写入了一些数据,创建了csv文件

Pandas包

4.利用pd.read_csv(data_file)读取csv格式文件的函数,括号内包含文件路径,如果csv中有包含“NA”“N/A”类似的字符表示缺失值,会将其转换为NaN,读取成为Pandas DataFrame对象

5. inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]

iloc是integer location的意思,是Pandas DataFrame的索引方式,按照整数位置进行索引,选取所有行,12列,作为模型的输入特征,最后一列作为输出特征

6. inputs.fillna(inputs.mean ())利用Pandas库中的fillna()函数将inputs中的缺失值NaN用每列的平均值代替,前提是这一列都为数字

7. inputs = pd.get_dummies(inputs, dummy_na=True),使用Pandas库中的get_dummies ()函数对输入的离散特征转换为二元特征,如下

8.64位浮点数和32位浮点数的区别

64位浮点数(也称为双精度浮点数)使用64位二进制表示,可以表示的数的范围和精度更高。其符号位占1位,指数位占11位,尾数位占52位,其中1位是隐含位,可以表示±1到±2^1023范围内的数,精度约为15到17个十进制数字

32位浮点数(也称为单精度浮点数)使用32位二进制表示,范围和精度相对较低。其符号位占1位,指数位占8位,尾数位占23位,其中1位是隐含位,可以表示±1到±2^127范围内的数,精度约为7个十进制数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值