首先,安装python的numpy库,需要用到时,利用import numpy as np(以下都用np表示)
导入txt数据: np.loadtxt('*.txt', delimiter=',') , 这里的文件不限txt,如常用的csv也可以,后面delimiter为分隔符。另一种导入数据方式可以直接用load,如对.npy数据集等。导入后为数组结构,之后可以类似matlab操作对数据取某些行列的值。
导入后的shape为数组的结构,如1000行数据,每个数据为28*28的,则为(1000, 28, 28)。取len时,为1000. ndim 为维度
对数据进行重构: np.reshape(x, (a, b, c, ...)), 其中x为需要重构的pointer, 后面为需要重构的大小。
np.prod(x, axis=?),对所有的数组索引作乘积,多用于reshape中,如在输入图片时,将图片平滑后输入,prod(x_train.shape[1:])。
几种数学操作:
argmax(a, axis=1)在第一轴上返回最大值的索引, a为array。
ones, zeros类似matlab操作。 sqrt不用多解释了。
range(a, b, c),后面两个可选,选一个时求两个端点的所有值(不包括后面的端点b), 选两个时第三个为步长。
np.random.normal(loc=, scale=, size= ),其中loc为mean,scale为标准差。
np.random.randn(2, 4)标准正态分布
np.random.rand(2,3)均匀分布 np.random,randint(1, 10, n)是n个随机整数在1-10之间
np.clip(x, a, b)将x截断到a与b之间
np.arange(1, 11)产生数列,可以之后reshape(注意是一个r,不是arrange)
np.array(list, dtype=np.float)直接定义数据类型
np.sin log sqrt
np.sum(axis=0,..ndim) 类似的还有max min等
对两个数组而言,可以分别对每个元素进行的操作有+-*/ ** 还有np.dot()求点积
np.concatenate(list1, list2)将两个list合并,必要时加上axis, 即追加。还有np.vstack(), np,hstack()。当然还可以np.split(list, n)分成n份
打印数组太大时,无法显示所有,用np.set_printoptions(threshold='nan')