@nemos
2017-05-06T02:37:53.000000Z
字数 1229
阅读 983
ml
import numpy as np
arr = np.array([[[1], [2]], [[3], [4]]], dtype) #创建数组,可指定数据类型
arr.ndim #arr的维度,#3
arr.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类型的array
np.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]) => false
np.any()
arr.mean(axis=)
np.median(arr, axis=)
arr.transpose(axis0, ...)
arr.resize((axis1, ...)) #元素不足则用0补齐,arr不能被引用
Broadcasting
形状
arr.ravel() #连接成一行
arr.reshape((m, n)) #重塑,可能返回view或copy
arr[:, 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() #读取复杂格式的文件