numpy常用函数总结

来源:互联网 发布:金钥匙软件怎么使用 编辑:程序博客网 时间:2024/05/16 04:04

首先,安装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')


np.random.seed(i) 当i相同时产生相同的随机序列


np.in1d(state, mask)可以过滤某些不满足要求的数据


numpy转化为tensorflow中tensor,tf.convert_to_tensor()