Pytorch学习笔记(一)数据预处理

本文是学习李沐动手学深度学习v2视频及教材的笔记。

课程网址:课程安排 - 动手学深度学习课程 (d2l.ai)

 本笔记是创建一个人工数据集,并存储在csv(用逗号分割)文件中。

1. 首先创建data文件夹和csv文件,并将数据写入csv文件

import os

os.makedirs(os.path.join('..','data'),exist_ok = True)
data_file = os.path.join('..','data','house_tiny.csv')

with open(data_file,'w') as f:
    f.write('YEAR, MONTH, DAY, HOUR, MINTUE, SECOND\n')
    f.write('2021,11,2,4,32,NA\n')
    f.write('2022,7,NA,5,45,PAVE\n')
    f.write('2023,NA,5,7,24,NA\n')
    f.write('NA,2,7,12,NA,NA\n')

数据的表格如下: 

	YEAR	MONTH	DAY	HOUR	MINTUE	SECOND
0	2021.0	11.0	2.0	4	32.0	NaN
1	2022.0	7.0	NaN	5	45.0	PAVE
2	2023.0	NaN	5.0	7	24.0	NaN
3	NaN	2.0	7.0	12	NaN	NaN

①通过os.makedirs函数创建一个文件夹。

os.makedirs(path, mode=0o777,exist_ok = False)

path:文件目录名

更多:Python os.makedirs详细介绍-优快云博客

②path可以用os.path.join函数进行连接

t = os.path.join('..','poi','pot')
t

'..\\poi\\pot'

其中,'..'表示当前目录

③with open() as ...  :打开文件并写入

f.write('2021,11,2,4,32,NA\n')

写入时最好不要加空格。否则NA不会识别为NAN,在后面input.mean()中不会被计算。

2.导入pandas库可以读取csv文件,所用函数为pd.read_csv()

 

import pandas as pd

data = pd.read_csv(data_file)
data
YEAR	MONTH	DAY	HOUR	MINTUE	SECOND
0	2021.0	11.0	2.0	4	32.0	NaN
1	2022.0	7.0	NaN	5	45.0	PAVE
2	2023.0	NaN	5.0	7	24.0	NaN
3	NaN	2.0	7.0	12	NaN	NaN

 3.对数字部分求均值补值。

inputs, outputs = data.iloc[:,0:5],data.iloc[:,5]
inputs = inputs.fillna(inputs.mean())
inputs

out:
YEAR	MONTH	DAY	HOUR	MINTUE
0	2021.0	11.000000	2.000000	4	32.000000
1	2022.0	7.000000	4.666667	5	45.000000
2	2023.0	6.666667	5.000000	7	24.000000
3	2022.0	2.000000	7.000000	12	33.666667

iloc():提取数据

fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

更多:Python-pandas的fillna()方法-填充空值_pandas针对某一列填充空值-优快云博客

fillna(inputs.mean())是指用inputs数据的均值来补充NA/NAN值 

4.将字符部分的PAVE和NAN字符用数字进行表示

outputs = pd.get_dummies(outputs, dummy_na = True)
outputs

out:
	PAVE	NaN
0	0	1
1	1	0
2	0	1
3	0	1

pd.get_dummies()对PAVE和NAN进行one hot 编码

更多:pandas.get_dummies 的用法_pd.get_dummies-优快云博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值