import numpy as np
n1 = np.array([[1,2,3],[6,5,4]])
print(n1.shape)
print("np.arange")
n2 = np.arange(1,12,0.4)
print(n2)
n2 = np.linspace(1,12,4)
print(n3)
n2 = np.linspace(1,12,5)
print(n4)
print("np.arange 不带步长参数")
print(np.arange(10))
(2, 3)
np.arange
[ 1. 1.4 1.8 2.2 2.6 3. 3.4 3.8 4.2 4.6 5. 5.4 5.8 6.2
6.6 7. 7.4 7.8 8.2 8.6 9. 9.4 9.8 10.2 10.6 11. 11.4 11.8]
[ 1. 4.66666667 8.33333333 12. ]
[ 1. 3.75 6.5 9.25 12. ]
np.arange 不带步长参数
[0 1 2 3 4 5 6 7 8 9]
上面程序的注释:
n1:二维矩阵
n2:1到12,不含12, 0.4步长
n3:将1到12 均分为3份,取得4个值,包含1和12。
n4:取得5个值的均分。
不带步长参数,生成从0到参数的整数向量。
import numpy as np
n1 = np.array([range(2,4),range(5,8)])
print(n1)
#维度不相等,无法成为正常矩阵
n2 = np.array([range(2,4),range(5,7)])
print(n2)
#维度相等,成为2*2矩阵
n3 = np.array(range(4))
print(n3)
#直接用range赋值
a= [range(2,4),range(5,7)]
print(a)
#从结果可以看出来,无法用range这样给list赋值
[range(2, 4) range(5, 8)]
[[2 3]
[5 6]]
[0 1 2 3]
[range(2, 4), range(5, 7)]
要想声明一个多维矩阵,这样:
numpy.
empty
(shape, dtype=float, order='C')
Return a new array of given shape and type, without initializing entries.
返回一个没有初始化的、用给定的类型/形状生成的向量。shape可以是一个数组/list。
import numpy as np
n1 = np.empty([3,3],dtype=int)
print(n1)
[[ 0 1156 5]
[57481984 0 65541]
[56251352 0 5]]
未初始化,注意。
np.zeros((2, 1))
array([[ 0.],
[ 0.]])
用0初始化 zeros
np.random.randn返回一个或一组样本,具有标准正态分布。
import numpy as np
n1 = np.zeros((2, 1))
print(n1)
print(np.eye(3))
print(np.random.randn(3))
print(sum(np.random.randn(3)))
[[0.]
[0.]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[ 0.48451999 -0.24370277 0.00866043]
0.5708764551147599
shuffle,将原来数组打乱,返回值None
import numpy as np
n1 = np.arange(10)
n2 = np.random.shuffle(np.arange(10))
print(n2,n1)
None [0 1 2 3 4 5 6 7 8 9]
可以看出,n1被打乱了,就是说原来的数组变样了。