numpy创建矩阵常用方法
arange+reshape
in:
n = np.arange(0, 30, 2)# start at 0 count up by 2, stop before 30n = n.reshape(3, 5) # reshape array to be 3x5
- 1
- 2
out:
linspace+resize
in:
o = np.linspace(0, 4, 9)o.resize(3, 3)
- 1
- 2
out:
notice:
ones zeros eye diag random.randint等创建矩阵
in:
np.ones((3, 2))np.zeros((2, 3))np.eye(3)#3维单位矩阵 y = np.array([4, 5, 6]) np.diag(y)#以y为主对角线创建矩阵 np.random.randint(0, 10, (4,3))
- 1
- 2
- 3
- 4
- 5
- 6
out:
ones:
[[ 1. 1.] [ 1. 1.] [ 1. 1.]] zeros: [[ 0. 0. 0.] [ 0. 0. 0.]] eye: [[ 1. 0. 0.] [ 0. 1. 0.] [ 0. 0. 1.]] diag: [[4 0 0] [0 5 0] [0 0 6]] randint [[1 3 5] [4 4 3] [9 3 0] [7 0 0]]矩阵拼接
in:
p = np.ones([2, 3], int)np.hstack([p, 2*p])#水平拼接np.vstack([p, 2*p])#竖直拼接
- 1
- 2
- 3
out:
hstack:
[[1 1 1 2 2 2] [1 1 1 2 2 2]] vstack: [[1 1 1] [1 1 1] [2 2 2] [2 2 2]]备注:
1 矩阵常用操作:
>>> b1 = array([[1,2,3],[4,5,6],[7,8,9]])
>>> b1[1:2]array([[4, 5, 6]])