• numpy中的复合数组


    1.复合数组的创建

    # 复合数组,最重要的是定义dtype
    a = np.array([('ABC', [1, 2, 3])], dtype="U3, 3i4")
    print(a)
    # [('ABC', [1, 2, 3])]
    print(a[0]["f0"], a[0]["f1"][0])  # 默认的名称为f0, f1 .....
    # ABC 1

    2.如果不想用默认的名称,那就如下操作,得到的值和上面一样

    b = np.array([('ABC', [1, 2, 3])], dtype=[("fa", np.str_, 3), ("fb", np.int32, 3)])
    print(b)
    print(b[0]["fa"], b[0]["fb"][0])
    
    c = np.array([('ABC', [1, 2, 3])], dtype={"names": ["fa", "fb"], "formats":["U3", "3i4"]})
    print(c)
    print(c[0]["fa"], c[0]["fb"][0])

    3.由于复合数组,是不是有可能就会改变数组里面的值,因此也可以为某一段数组多有一些字节或位

    # 这里的0和16是偏移,以0位偏移基点,为数组预留空间
    d = np.array([('ABC', [1, 2, 3])], dtype={"fa": ("U3", 0),"fb": ("3i4", 16)})
    print(d)
    # [('ABC', [1, 2, 3])]
    print(d[0]["fa"], c[0]["fb"][0])
    # ABC 1
    print(c.itemsize)
    # 24
    # 获取数组元素的位数, 1字节 = 8位
    print(d.itemsize)
    # 28
  • 相关阅读:
    MYSQL[18]
    MYSQL[11]
    hdu 1847
    hdu 2149
    uva 10341
    hdu 1850
    uva 10391字典树
    hdu 2473
    uva 10761
    hdu 1198
  • 原文地址:https://www.cnblogs.com/zengsf/p/10060577.html
Copyright © 2020-2023  润新知