@nemos
        
        2017-05-06T02:37:53.000000Z
        字数 1229
        阅读 1017
    ml
import numpy as nparr = np.array([[[1], [2]], [[3], [4]]], dtype) #创建数组,可指定数据类型arr.ndim #arr的维度,#3arr.shape #从外向内分解各维长度,#(2,2,1)len(arr) #第一维的大小newarr = arr[:].copy() #索引返回的数组是与原数组共享内存
arr[start:end:step] #多维用逗号分割

mask = arr % 3 == 0 #返回bool类型的的数组newarr = arr[mask] #对arr用mask筛选a[a % 3 == 0] = -1 #筛选赋值

np.arange(n)np.arange(start, end, step)np.linspace(start, end, num) #[start, end]割num个数np.ones((m, n)) #全为1的矩阵np.zeros((m, n))np.eye(n) #单位方阵np.diag(np.arr([1, 2, 3])) #填充对角线arr.dtype #数据类型
元素
arr + 1 #可对数组直接进行加减乘除操作用运算符的都是对元素全体的运算arr1 == arr2 #返回一个bool类型的arraynp.array_equal(a, b) #数组判等np.sin(a)np.log(a)np.exp(a)a = np.triu(np.ones((3, 3)), 1) #换位操作array([[ 0., 1., 1.],[ 0., 0., 1.],[ 0., 0., 0.]])
迭代
arr.sum()arr = np.array([[1, 1], [2, 2]])arr.sum(axis=0) #对每列分别进行求和

arr.min()arr.max()np.all([True, True, False]) => falsenp.any()arr.mean(axis=)np.median(arr, axis=)arr.transpose(axis0, ...)arr.resize((axis1, ...)) #元素不足则用0补齐,arr不能被引用
Broadcasting 
 
形状
arr.ravel() #连接成一行arr.reshape((m, n)) #重塑,可能返回view或copyarr[:, np.newaxis] #维度增加[1, 2, 3] => [[1],[2],[3]]arr[np.newaxis, :][[1, 2, 3]]
数据类型
arr.astype() #强制类型转化np.around(arr) #四舍五入但数据类型仍为浮点
p=np.polynomial([-1, 2, 3])p(x') #x=x'时多项式的值p.roots() #多形式为0时的根p.degree() #最高次
data = np.loadtxt('xxx.txt')np.savetxt('xxx.txt', data)np.genfromtxt() #读取复杂格式的文件