Part2
1.
np.meshgrid(array1,array2) 产生两个矩阵,对应两个数组中所有(x,y)对
e.g.
[IN]a=np.arange(-5,5,0.1)
[IN]x,y=np.meshgrid(a,a)
[OUT]x=array([[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1],
[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1],
[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1],
...,
[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1],
[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1],
[a[0],a[1],a[2],…,a[n-3],a[n-2],a[n-1]])
[OUT]y=array([[b[0],b[0],b[0], ...,b[0],b[0],b[0],
[b[1],b[1],b[1], ...,b[1],b[1],b[1],
[b[2],b[2],b[2], ...,b[2],b[2],b[2],
...,
[b[n-3],b[n-3],b[n-3], ...,b[n-3],b[n-3],b[n-3],
[b[n-2],b[0]n-2b[0], n-2..,b[0],b[0n-2,b[n-2],
[b[n-1],b[n-1],b[n-1], ...,b[n-1],b[n-1],b[n-1]])
[IN] Z=plt.imshow(z) ;plt.colorbar()
2.Out=Np.where(bool_array, array1, array2) out[i]=array1[i] if bool_array[i] else array2[i]
Array1和array2也可以是标量值
3. array.sum()/mean() 计算矩阵的和/均值,结果是一个数
array.sum(axis=1)/mean(axis=1) 计算该轴向上的和/均值,结果是低1维数组
array.std()/var() 计算标准差和方差,可以指定轴
array.min()/max()
array.argmin()/argmax() 计算最小值和最大值的索引
array.cumsum()/cumprod 计算该轴从0至当前值的和/积
array.any()/all() 检查是否 至少有一个/全部都是 True
array.sort()
4. numpy.unique(array) 找出数组中的唯一值,返回一维数组
numpy.intersect1d(x,y) 计算x and y的公共元素
numpy.union1d(x,y) 计算x和y的并集
numpy.in1d(x,y) 得到x是否包含于y的布尔数组
numpy.setdiff1d(x,y) 得到在x中而不在y中的集合
numpy.setxor1d(x,y) 得到只存在x,y中而不同属于x,y的集合
线性代数 from numpy.linalg import inv , qr
inv(matrix) 求逆
diag(array/matrix) 将array转换为对角方阵,或者将matrix对角元素抽出来
trace(matrix) 求迹
det(matrix) 求行列式
eig(matrix) 求方阵的本征值和本征向量
svd(matrix) SVD分解
solve(matrix,array) 解matrix * x= array 的解