DL中常用的numpy

读txt文件

按行读取有三种方式,注意readlines和readline的区别。open是python自带打开方式,如果打不开,可以使用encoding="UTF-8"指定解码方案。

读取得到一行之后,行首行尾可能存在一些不需要的字符,就可以使用str.strip()去除,括号中是预期要去除的字符串。比如多行txt文件中会有换行符。

strip一般与split搭配使用。split也可以指定字符串,以其为界限将原始字符串分成指定的几部分,当分隔符有多个时,以第一个分隔符优先。

数组维度

np.reshape((2,2,3))

注意这里括号里面还有括号,因为是以size类型当参数的

np.transpose(x,(1,0,2))

对ndarray的坐标系进行调换。二维时相当于转置。高维以三维为例,首先要理解三维数组,相当于在二维数组的基础上又进行了一次划分,划分成前后两部分,作为第三维,但是表现在坐标中是第一个坐标。所以0,1,2转换为1,0,2就是前两个坐标顺序调换了一下。

随机数

np.random.rand((4,5))

返回的是处于[0,1)的随机浮点数。参数可以是一个整数,表示返回的随机数个数,也可以是size形的。

np.random.rand(20).reshape([4,5]) 与np.random.rand((4,5))等效

np.random.random_sample(a,size,replace,p) 从a中取size个样本,默认replace=True,有放回的抽样,默认每个样本被抽取到的概率p相等。

np.random.randint(a,b) 随机取[a,b)之间的整数

np.random.choice(a,size,replace,p) 是否放回,概率

标签

一般用到的学习还是监督学习,需要给样本贴标签。一般正负样本是分开的,分别使用0和1表示。标签一般是一维数组,使用ones或者zeros就可以得到对应的标签。需要注意的是第一个参数是shape,[0,0,0]虽然看着像一行三列的二维,但是其实它是一维的,二维是这样子的[[0,0,0]].所以生成一维标签时shape处只需要填写长度,可以使用len()得到长度,也可以使用.shape[0]

>>> np.zeros(5) array([ 0., 0., 0., 0., 0.]) >>> np.zeros((5,), dtype=np.int) array([0, 0, 0, 0, 0])

np.zeros默认得到的数据是浮点型的,而一般标签是int型的,可以通过第二个参数指定。

这样得到的标签是正负分离的,我们需要一个全新的label包含01,即把ones和zeros得到的数组进行拼接。

np.append(a,b)

np.concatenate((a,b),axis=0)  axis=0时在竖直方向拼接, axis=1时在水平方向拼接。注意这里需要把a和b用括号括起来。

Reference:

https://blog.csdn.net/da_kao_la/article/details/90183691

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值