• 创建数组array--numpy


    1. 创建数组array

    1.1 array函数创建

    1.1.1 语法格式

    numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, 
    ndmin=0, like=None)
    
    • 1
    • 2
    参数含义
    object数组序列,如:列表/元组
    dtype可选参数,数组数据的类型;若未指定由数组序列最小类型决定
    copy可选参数,布尔型,默认取值为True,具体如何使用尚不清楚
    order可选参数,以何种内存布局创建数组,尚不理解
    subok可选参数,布尔型,默认取值为False,尚不理解
    ndmin可选参数,指定数组的维度,默认为1维
    like可选参数,类数组,尚不理解

    1.1.2 实践代码

    # 1.列表中元素不相同,结果为内存占据较大的类型
    # 1.1 整型与字符串型,结果转化为整型
    a = np.array([1, 2, 3, '4'])
    print(a)
    
    # 1.2 整型与浮点型,结果为浮点型
    b = np.array([1, 2, 3.14, 4.56])
    print(b)
    
    # 2. 二维数组
    d = np.array([[1, 2, 3], ('a', 'b', 'c')])
    print(d)
    print(d.ndim)
    
    # 3. 嵌套序列数量不一致,会转化为1维数组,此时必须指定dtype=object
    e = np.array([[1, 2, 3, 4], ('a', 'b', 'c')], dtype=object)
    print(e)
    print(e.ndim)
    
    
    # 4. dtype参数,默认自动识别,dtype指定类型,强制转换
    f = np.array([1, 2, 3, 4])
    print(f)
    print(f.dtype)
    
    g = np.array([1.9, 2, 3.14, 5], dtype='int32')
    print(g)
    print(id(g))
    
    #  5. 当copy取值为True创建副本,取值为False时进行引用,不创建副本
    h = np.array(g,copy=False)
    print(h)
    print(id(h))
    
    j = np.array(g)
    print(j)
    print(id(j))
    
    # 6. ndmin 指定创建数组的维度
    k = np.array([1,2,3],ndmin=2)
    print(k)
    print(k.ndim)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    1.2 arange函数创建

    1.2.1 函数语法

    numpy.arange([start, ]stop, [step, ]dtype=None, *, 
    like=None)
    
    • 1
    • 2
    参数含义
    start可选参数,起始值,默认值为0
    stop结束值(不包含)
    step可选参数,步长,默认值为1
    dtype可选参数, 数组数据的类型,默认根据其他输入参数情况推断
    like尚不清楚

    1.2.2 实践代码

    # 1. 只有1个参数
    a1 = np.arange(8)  # 结束值为8,起始值默认0,步长默认为1
    print(a1)
    print(a1.dtype)
    
    # 2. 给定起始值、结束值
    a2 = np.arange(2.2,9.9)
    print(a2)
    print(a2.dtype)
    
    # 3. 给定起始值、结束值、步长
    a3 = np.arange(2.2,9.9,0.8)
    print(a3)
    print(a3.dtype)
    
    a4 = np.arange(0, 201, 3)
    print(a4)
    print(a4.shape)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    1.3 linspace()函数创建

    1.3.1 语法格式

    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, 
    axis=0)
    
    • 1
    • 2

    创建等差数组

    参数含义
    start起始值
    stop结束值
    num产生的样本量,可选参数,默认为50个
    endpoint布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值
    retstep布尔值,可选参数,默认取值False,只返回样本数据;取值位True时除样本数据外还会返回步长
    dtype可选参数,输出数组的数据类型,默认根据起始值和终止值推断
    axis可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用

    1.3.2 实践代码

    # 1. 给定起始值和结束值
    s1 = np.linspace(0, 50)
    print('s1:', s1)
    
    # 2. 给定起始值、结束值和样本量
    s2 = np.linspace(0, 50, 10)
    print('s2:', s2)
    
    # 3. 设定不包含结束值
    s3 = np.linspace(0, 50, 10, endpoint=False)
    print('s3:', s3)
    
    # 4. 返回步长step
    s4 = np.linspace(0, 50, 10, endpoint=False, retstep=True)
    print('s4:', s4)
    
    # 5.起始值与终止值为数组
    a = np.array([1, 2])
    b = np.array([7, 8])
    s5 = np.linspace(a, b, num=4, axis=0)
    print('s5:', s5)
    
    s6 = np.linspace(a, b, num=4, axis=1)
    print('s6:', s6)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述

    1.4 logspace函数创建

    1.4.1 语法格式

    创建等比数组

    numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,
     axis=0)
    
    • 1
    • 2
    参数含义
    start起始值
    stop结束值
    num产生的样本量,可选参数,默认为50个
    endpoint布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值
    base可选参数,底数,默认为10
    dtype可选参数,输出数组的数据类型,默认根据起始值和终止值推断
    axis可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用

    1.4.2 实践代码

    g1 = np.logspace(1, 5, num=5)
    print('g1:', g1)
    
    g2 = np.logspace(1, 5, num=5, endpoint=False)
    print('g2:', g2)
    
    g3 = np.logspace(1, 5, num=5, base=2)
    print('g3:', g3)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    总结: 
    np.logspace(A,B,C,base=D)
    A : 生成数组的起始值为D的A次方
    B: 生成数组的结束值为D的B次方
    C: 总共生成C个数
    D: 指数型数组的底数为D,默认为base=10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.5 全0数组

    1.5.1 函数语法

    numpy.zeros(shape, dtype=float, order='C', *, like=None)
    
    • 1

    返回指定形状和数据类型的以0填充的数组

    参数含义
    shape数组形状,取值为整数或整数组成的元组
    dtype可选参数;生成数组的数据类型,默认为float64
    order可选参数;内存中数据的存储形式
    like尚不清楚

    1.5.2 实践代码

    # 创建一维数组
    a = np.zeros(5)
    print(a)
    print(a.shape)
    
    b = np.zeros((5,))
    print(b)
    print(b.shape)
    
    # 指定输出数组的数据类型
    d = np.zeros((5,), dtype='int32')
    print(d)
    print(d.shape)
    
    # 创建二维数组
    
    e = np.zeros((2, 3))
    print(e)
    print(e.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    1.6 全1数组

    1.6.1 函数语法

    numpy.ones(shape, dtype=float, order='C', *, like=None)
    
    • 1

    返回指定形状和数据类型的以1填充的数组

    参数含义
    shape数组形状,取值为整数或整数组成的元组
    dtype可选参数;生成数组的数据类型,默认为float64
    order可选参数;内存中数据的存储形式
    like尚不清楚
    # 创建一维数组
    a = np.ones(5)
    print(a)
    print(a.shape)
    
    b = np.ones((5,))
    print(b)
    print(b.shape)
    
    # 指定输出数组的数据类型
    d = np.ones((5,), dtype='int32')
    print(d)
    print(d.shape)
    
    # 创建二维数组
    
    e = np.ones((2, 3))
    print(e)
    print(e.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    1.6.2 实践代码

    在这里插入图片描述

    2. 数组的属性

    属性说明
    ndarray.ndim秩,即数组维度的数量
    ndarray.shape数组的维度,如矩阵:n行m列
    ndarray.size数组元素的个数,相当于shape中的n*m
    ndarray.dtype数组中元素的类型
    ndarray.itemsizendarray中每个元素的大小,以字节为单位

    参考文献:numpy.array

  • 相关阅读:
    I.MX6U-系统移植-4-uboot移植
    Java发送邮件 启用SSL
    Linux用gzip打包压缩和解压文件夹
    IOC操作Bean管理(基于注解方式)
    【Java基础】变量、标识符及类型转换
    若依框架的暴力破解漏洞
    Unity Shader入门精要学习——透明效果
    cmmi分为哪几个等级?
    第十三届蓝桥杯(C/C++ 大学B组)
    哈希算法--MD5算法
  • 原文地址:https://blog.csdn.net/chongbaikaishi/article/details/126650010