• NumPy学习_00 ndarray的创建


    1.使用array()函数创建数组

    参数可以为:单层或嵌套列表;嵌套元组或元组列表;元组或列表组成的列表

    # 导入numpy库
    import numpy as np
    # 由单层列表创建
    a = np.array([1,2,3])
    print(a)
    [1 2 3]
    # 由嵌套列表创建
    b = np.array([[1.3,2.4], [0.3,4.1]])
    print(b)
    [[1.3 2.4]
    [0.3 4.1]]
    # 由嵌套元组创建
    c = np.array((("p","y","t"), ("h","o","n")))
    print(c)
    [['p' 'y' 't']
    ['h' 'o' 'n']]
    # 由元组列表创建
    d = np.array([(3,2,1), (7,8,9)])
    print(d)
    [[3 2 1]
    [7 8 9]]
    # 由元组或列表组成的列表
    e = np.array([(6,1,8), [7,5,3], (2,9,4)])
    print(e)
    [[6 1 8]
    [7 5 3]
    [2 9 4]]
    # array创建数组返回的类型
    print(type(a))
    <class 'numpy.ndarray'>

    2.数据类型

    # 数组元素是同质的,即类型和大小都相同
    # 数据类型由dtype对象来指定
    # itemsize属性,定义了数组中每个元素的长度占几个字节
    print(a.dtype.name, a.itemsize)
    print(b.dtype.name, b.itemsize)
    print(c.dtype.name, c.itemsize)
    print(d.dtype.name, d.itemsize)
    print(e.dtype.name, e.itemsize)

    # array()函数默认根据列表或元素序列中各元素的数据类型,为ndarray对象指定最适合的数据类型。
    # 也可以使用dtype选项作为array()的参数,明确指定dtype的类型。
    # 如下定义一个复数数组
    f = np.array([[1,2,3], [4,5,6]], dtype=complex)
    print("-------------------------")
    print(f)
    int32 4
    float64 8
    str32 4
    int32 4
    int32 4
    -------------------------
    [[1.+0.j 2.+0.j 3.+0.j]
    [4.+0.j 5.+0.j 6.+0.j]]

    3.NumPy库自带的数组创建方法

    # zeros()函数生成由shape参数指定维度信息,元素均为0的数组。
    # 元素的数据类型为float64
    g = np.zeros((3,3))
    print(g)
    [[0. 0. 0.]
    [0. 0. 0.]
    [0. 0. 0.]]
    # ones()函数与上述函数相似
    # 元素的数据类型为float64
    h = np.ones((3,3))
    print(h)
    [[1. 1. 1.]
    [1. 1. 1.]
    [1. 1. 1.]]
    # arange()函数,按特定规则生成包含一个数值序列的数组。
    # arange(begin, end, step)
    # 参数begin省略则从0开始
    # 参数end应该比序列最后一个值大
    # 参数step可以是浮点型
    i = np.arange(0,10)
    j = np.arange(10)
    k = np.arange(4,10)
    m = np.arange(0,10,2)
    n = np.arange(0,10,1.3)
    print(i)
    print("-------------------------")
    print(j)
    print("-------------------------")
    print(k)
    print("-------------------------")
    print(m)
    print("-------------------------")
    print(n)
    [0 1 2 3 4 5 6 7 8 9]
    -------------------------
    [0 1 2 3 4 5 6 7 8 9]
    -------------------------
    [4 5 6 7 8 9]
    -------------------------
    [0 2 4 6 8]
    -------------------------
    [0. 1.3 2.6 3.9 5.2 6.5 7.8 9.1]
    # 结合reshape()函数进行拆分
    x1 = np.arange(0,12).reshape(3,4)
    print(x1)
    [[ 0  1  2  3]
    [ 4 5 6 7]
    [ 8 9 10 11]]
    # linspace(begin, end, cnt)函数
    # 第三个参数表示需要将begin和end范围分成几个部分
    x2 = np.linspace(0,10,6)
    print(x2)
    [ 0.  2.  4.  6.  8. 10.]
    # random()函数以随机数填充数组
    # 每次生成元素均会有所不同
    x3 = np.random.random(3)
    x4 = np.random.random((3,3))
    print(x3)
    print("------------------------------------------")
    print(x4)
    [0.8223299  0.83657551 0.797519  ]
    ------------------------------------------
    [[0.14562367 0.8657818 0.96508416]
    [0.15094085 0.27332193 0.52784433]
    [0.0260834 0.3047311 0.65182433]]

    # eye(N)函数创建一个NxN单位矩阵(对角线为1,其余为0)
    x5 = np.eye(4)
    print(x5)
    [[1. 0. 0. 0.]
    [0. 1. 0. 0.]
    [0. 0. 1. 0.]
    [0. 0. 0. 1.]]
    # 使用empty()函数返回全0数组的想法是不安全的
    x6 = np.empty((2,3))
    print(x6)
    [[1. 2. 3.]
    [4. 5. 6.]]
  • 相关阅读:
    3139:[HNOI2013]比赛
    3143: [Hnoi2013]游走
    目前游戏行业内部主要几款游戏引擎的技术对比
    6.使用AngularJS模板来创建视图
    css选择器(E[att^=”val”]序号选择器)
    5.把作用域实现为数据模型
    4.了解AngularJS模块和依赖注入
    3.创建基本的AngularJS应用
    2.AngularJS MVC
    1.AngularJS初探
  • 原文地址:https://www.cnblogs.com/zhanglin-0/p/8504635.html
Copyright © 2020-2023  润新知