numpy中的矩阵和随机数生成

 

1.np.arange   类似list中的range

2.np.linspace  等差数列

3.np.zeros  生成数值全部为0的数组

4.np.ones  生成数值全部为1的数组

5.np.full  指定数值填充数组

6.np.random  随机数

1.创建一个新的notebook,导入numpy

import numpy as np

numpy中的矩阵和随机数生成_第1张图片

2.numpy.arange()

#传入1个参数,默认从0开始
np.arange(10)
#结果:array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#传入两个参数:起始位置和结束位置
np.arange(2,20)
#结果:array([ 2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
       19])

#传入3个参数:起始位置、结束位置、步长
np.arange(2,20,2)
#结果:array([ 2,  5,  8, 11, 14, 17])

#传入3个参数:步长为小数
np.arange(2,20,0.5)
#结果:array([ 2. ,  2.5,  3. ,  3.5,  4. ,  4.5,  5. ,  5.5,  6. ,  6.5,  7. ,
#        7.5,  8. ,  8.5,  9. ,  9.5, 10. , 10.5, 11. , 11.5, 12. , 12.5,
#       13. , 13.5, 14. , 14.5, 15. , 15.5, 16. , 16.5, 17. , 17.5, 18. ,
#       18.5, 19. , 19.5])

运行效果如下图:

numpy中的矩阵和随机数生成_第2张图片

 3.np. zeros生成全部为0的数组,默认为浮点数类型,也可指定类型,np.zeros(10,dtype=int)

#1.生成全部为0的一维数组,默认类型为float
np.zeros(10)
#结果:array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

#2.指定类型为:int
np.zeros(10,dtype=int)
#结果:array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

#3.生成全部为0的二维数组,指定类型为int
np.zeros((3,5),dtype=int)
#结果:array([[0, 0, 0, 0, 0],
#            [0, 0, 0, 0, 0],
#            [0, 0, 0, 0, 0]])

运行效果如下图:

numpy中的矩阵和随机数生成_第3张图片

4.生成全部为1的数组,np. ones(10)

np.ones(10)
#结果:array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

 运行效果如下图:

5.numpy. full()生成指定值的数组,比如np. full(10,99),生成10个值为99的一维数组

#1.生成一维数组,指定值为99
np.full(10,99)
# 结果:array([99, 99, 99, 99, 99, 99, 99, 99, 99, 99])

#2.生成二维数组,指定值为99
np.full((3,5),99)
# 结果:array([[99, 99, 99, 99, 99],
#      [99, 99, 99, 99, 99],
#       [99, 99, 99, 99, 99]])

#3.生成二维数组,指定值为99.0,且带上属性名称fill_value
np.full((3,5),fill_value = 99.0)
#结果:array([[99., 99., 99., 99., 99.],
#       [99., 99., 99., 99., 99.],
#       [99., 99., 99., 99., 99.]])

 运行效果如下图:

numpy中的矩阵和随机数生成_第4张图片

6.np.linspace()生成等差数列,np. linspace(0,20,10)在0-20中截取10个点作为等差数列。也可用np. linspace(0,20,10,endpoint=False)不显示终止点

#1.在0-20中截取10个点作为等差数列
np.linspace(0,20,10)
#结果:array([ 0.        ,  2.22222222,  4.44444444,  6.66666667,  8.88888889,
#       11.11111111, 13.33333333, 15.55555556, 17.77777778, 20.        ])

#2.在0-20中截取11个点作为等差数列
np.linspace(0,20,11)
#结果:array([ 0.,  2.,  4.,  6.,  8., 10., 12., 14., 16., 18., 20.])

#3.在0-20中截取10个点作为等差数列,不显示终点
np.linspace(0,20,10,endpoint=False)
#结果:array([ 0.,  2.,  4.,  6.,  8., 10., 12., 14., 16., 18.])

 运行效果如下:

numpy中的矩阵和随机数生成_第5张图片

 

7.np. random()生成随机数,np. random. randint(0,10)生成0-10的一个随机数,np. random. randint(0,10,5)生成0-10的5个随机数,也可在5前面加上size参数,如np. random(0,10,size=5)

#1.在0-10中生成一个随机数
np.random.randint(0,10)
#结果:7(每次运行的结果会不一样)

#2.在0-10中生成5个随机数
np.random.randint(0,10,5)
# 结果:array([3, 4, 6, 5, 6])

#3.在0-10中生成5个随机数,指定属性名
np.random.randint(0,10,size=5)
#结果:array([4, 8, 3, 0, 2])

 运行效果如下:

numpy中的矩阵和随机数生成_第6张图片

#生成一个二维数组的随机数
np.random.randint(0,10,size=(3,5))
#结果:array([[1, 7, 7, 4, 8],
#       [5, 4, 3, 8, 3],
#       [9, 0, 5, 8, 8]])

 运行效果如下:

numpy中的矩阵和随机数生成_第7张图片

8.传入一个随机数种子,np. random. seed(100),让每次生成的随机数相同,100类似于种子id

np.random.seed(100)
np.random.randint(0,10,5)
#结果:array([8, 8, 3, 7, 7]) (每次运行的结果都是一样的)

运行效果如下图:

numpy中的矩阵和随机数生成_第8张图片

9.np. random.random()生成0-1之间的随机数

#1.生成一个0-1之间的随机数
np.random.random()
#结果:0.5263824674842963

#2.生成5个0-1之间的随机数
np.random.random(5)
#结果:array([0.14860484, 0.15671108, 0.18646718, 0.21010774, 0.4527399 ])


#3.生成一个二维数组
np.random.random((3,5))
#结果:array([[0.87014264, 0.06368104, 0.62431189, 0.52334774, 0.56229626],
#       [0.00581719, 0.30742321, 0.95018431, 0.12665424, 0.07898787],
#       [0.31135313, 0.63238359, 0.69935892, 0.64196495, 0.92002378]])

运行效果如下:

numpy中的矩阵和随机数生成_第9张图片

 

10.np. random. normal()生成均值为0,标准差为1的符合标准正太分布的数据

#1.生成一维数组
np.random.normal(size=5)
#结果:array([-1.75037385,  0.13330585, -1.31520994, -0.9374954 ,  0.38421144])

#2.生成二维数组
np.random.normal(size=(3,5))
#array([[-0.66167997,  2.58785597, -1.08310212, -2.06634065, -1.27064503],
#       [-2.09572442, -2.13740639,  0.91584868,  0.59257575,  0.03795813],
#       [ 0.37196757,  0.35975395, -0.14039647, -0.44373851,  0.56877016]])

 运行效果如下:

numpy中的矩阵和随机数生成_第10张图片

 

你可能感兴趣的:(python,numpy,机器学习)