numpy随机生成01矩阵_荐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

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])

运行效果如下图:

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]])

运行效果如下图:

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.]])

运行效果如下图:

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.])

运行效果如下:

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])

运行效果如下:

#生成一个二维数组的随机数

np.random.randint(0,10,size=(3,5))

#结果:array([[1, 7, 7, 4, 8],

# [5, 4, 3, 8, 3],

# [9, 0, 5, 8, 8]])

运行效果如下:

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

np.random.seed(100)

np.random.randint(0,10,5)

#结果:array([8, 8, 3, 7, 7]) (每次运行的结果都是一样的)

运行效果如下图:

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]])

运行效果如下:

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随机生成01矩阵)