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]])
运行效果如下: