跟李沐学AI(自学笔记)| 数据操作 & 数据处理

目录:pytorch / chapter_preliminaries / ndarray.ipynb

           pytorch / chapter_preliminaries / pandas.ipynb

(一)数据操作

首先认识深度学习中使用最多的数据类型——张量(tensor),张量即为n维数组。具有一个轴的张量对应数学上的向量(vector); 具有两个轴的张量对应数学上的矩阵(matrix)。

张量的常用操作:

x = torch.arange(12)        //创建行向量

x.shape                            //访问张量形状

x.numel()                         //张量中元素总数

X = x.reshape(3, 4)         //改变张量的形状

torch.zeros((2, 3, 4))       //创建形状为(2,3,4)的全0张量

torch.ones((2, 3, 4))        //创建形状为(2,3,4)的全1张量

torch.randn(3, 4)             //元素从均值为0、标准差为1的标准高斯分布(正态分布)中随机采样

torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])        //嵌套列表为张量中的每个元素赋值

张量的索引和切片:

与任何Python数组一样:第一个元素的索引是0,最后一个元素索引是-1; 可以指定范围以包含第一个元素和最后一个之前的元素。

(二)数据预处理

接着对数据进行预处理,通常接收到的数据文件格式为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('NumRooms,RoofType,Price\n')
    f.write('NA,NA,127500\n')
    f.write('2,NA,106000\n')
    f.write('4,Slate,178100\n')
    f.write('NA,NA,140000\n')

读取csv文件:read_csv

import pandas as pd
data = pd.read_csv(data_file)

数据的分割:.iloc

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

遇到的问题:

(1)写csv文件的代码开始是将所有的数据和内容放在一起,使用一个f.write('''    ''')实现的,运行后发现第0列的NA没有表示为NaN,每行分开写之后显示为NaN。

(2)可能由于python版本更新,在求均值操作中需要加上numeric_only=True,否则也会报错。

inputs = inputs.fillna(inputs.mean(numeric_only=True))

(3)get_dummies结果显示True和False,转换为0和1

inputs = pd.get_dummies(inputs, dummy_na=True ,dtype=int)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值