赞
踩
import numpy as np
(1) 创建一个二维数组
np.array([[1,2],[3,4]])
array([[1, 2],
[3, 4]])
(2) 创建一个矩阵
a = np.mat([[1,2],[3,4]])
a
matrix([[1, 2],
[3, 4]])
b = np.matrix([[1,2],[3,4]])
b
matrix([[1, 2],
[3, 4]])
np.bmat('a b')
matrix([[1, 2, 1, 2],
[3, 4, 3, 4],
[1, 2, 1, 2],
[3, 4, 3, 4]])
a = [[1,2],[3,4]]
b = [[1,1],[1,2]]
np.array(a)*np.array(b)#对应位置相乘
array([[1, 2],
[3, 8]])
(1) 查看两个矩阵
print(np.mat(a))
print(np.mat(b))
[[1 2]
[3 4]]
[[1 1]
[1 2]]
(2) 矩阵相乘
np.mat(a) * np.mat(b)
matrix([[ 3, 5],
[ 7, 11]])
结论: 横x列之和,横往右走,列往下走
(3) 用.dot对数组做矩阵乘法
np.array(a).dot(np.array(b))
array([[ 3, 5],
[ 7, 11]])
(1) 属性T 返回自身的转置
print (np.matrix(a))
np.matrix(a).T
[[1 2]
[3 4]]
matrix([[1, 3],
[2, 4]])
(2) 属性I 返回自身的逆矩阵
print (np.matrix(a))
np.matrix(a).I
[[1 2]
[3 4]]
matrix([[-2. , 1. ],
[ 1.5, -0.5]])
(3) 属性H 返回自身的共轭转置
print (np.matrix(a))
np.matrix(a).H
[[1 2]
[3 4]]
matrix([[1, 3],
[2, 4]])
(4) 返回自身数据的2维数组的一个视图
print (np.matrix(a))
np.matrix(a).A
[[1 2]
[3 4]]
array([[1, 2],
[3, 4]])
• 四则运算:加(+)、减(-)、乘(*)、除(/)、幂(**)。数组间的四则运算表示对每个数组中的元素分别进行四则运算,所以形状必须相同。
• 比较运算:>、<、==、>=、<=、!=。比较运算返回的结果是一个布尔数组,每个元素为每个数组对应元素的比较结果。
• 逻辑运算:np.any函数表示逻辑“or”,np.all函数表示逻辑“and”。运算结果返回布尔值。
a
[[1, 2], [3, 4]]
[[j**2 for j in i] for i in a]
[[1, 4], [9, 16]]
a转为多维数组后做乘法:
np.array(a)**2
array([[ 1, 4],
[ 9, 16]], dtype=int32)
广播(broadcasting)是指不同形状的数组之间执行算术运算的方式。需要遵循4个原则。
a = [[0]*3,[1]*3,[2]*3,[2]*3]
a
[[0, 0, 0], [1, 1, 1], [2, 2, 2], [2, 2, 2]]
(1) 把a转化为数组
np.array(a)
array([[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[2, 2, 2]])
(2) 数组相加运算
np.array(a) + np.array(a)
array([[0, 0, 0],
[2, 2, 2],
[4, 4, 4],
[4, 4, 4]])
(3) 当数组长度不够时,它会自动重复补齐
np.array(a) + np.array([[1],[2],[3],[4]])
array([[1, 1, 1],
[3, 3, 3],
[5, 5, 5],
[6, 6, 6]])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。