zoukankan      html  css  js  c++  java
  • 初探numpy

    安装numpy

    通过python pip安装numpy

    pip install numpy
    

    numpy ndarray对象

    创建ndarray对象只需调用numpy的array函数即可

    numpy.array(object , dtype = None , copy = True , order = None , subok = False , ndmin = 0)
    
    参数 描述
    object 数组或嵌套的数列
    dtype 数组元素的数据类型
    copy 对象是否需要复制
    order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok 默认返回一个与基类类型相同的数组
    ndmin 指定生成数组的最小维度
    import numpy as np
    
    array=np.array([1,2,3])
    print(array)
    
    [1 2 3]
    
    array=np.array([[1,2],[3,4]])
    print(array)
    
    [[1 2]
     [3 4]]
    
    #最小维度测试
    array=np.array([1,2,3],ndmin=2)
    print(array)
    
    [[1 2 3]]
    
    #dtype参数测试
    array=np.array([1,2,3],dtype=float)
    print(array)
    
    [1. 2. 3.]
    

    numpy常用数据类型

    类型 类型代码 描述
    int8、uint8 i1、u1 有符号和无符号的8位(1个字节)整型
    int16、uint16 i2、u2 有符号和无符号的16位(2个字节)整型
    int32、uint32 i4、u4 有符号和无符号的32位(4个字节)整型
    int64、uint64 i8、u8 有符号和无符号的64位(8个字节)整型
    float16 f2 半精度浮点数,包括:1个符号位,5个指数位,10个尾数位
    float32 f4或f 标准的单精度浮点数,包括:1个符号位,8个指数位,23个尾数位。与C的float兼容
    float64 f8或d 标准的单精度浮点数,包括:1个符号位,11个指数位,52个尾数位。与C的double和Python的float对象兼容
    complex64、complex128 c8、c16 分别用两个32位、64位浮点数表示的复数
    bool ? 布尔数据类型(表示True或False)

    数据类型对象(dtype)

    dtype对象使用dtype函数构造

    numpy.dtype(object , align , copy)
    
    参数 描述
    object 要转化为的数据对象
    align 如果为True,使其形成类似C的结构体
    copy 复制dtype对象,如果为False,则是对内置函数类型对象的引用
    import numpy as np
    
    #使用标量类型
    dt=np.dtype(np.int64)
    print(dt)
    
    int64
    
    #使用类型代码
    
    dt=np.dtype('u8')
    print(dt)
    
    uint64
    
    array=np.array([1,2,3],dtype=float)
    print(array)
    print(array.dtype)
    
    [1. 2. 3.]
    float64
    

    ndarray对象属性

    ndarray对象属性有:

    属性 描述
    ndarray.ndim 秩,即轴的数量或维度的数量
    ndarray.shape 数组的维度,对应矩阵,m行n列
    ndarray.size 数组元素的个数,相当于.shape中的m*n的值
    ndarray.dtype ndarray对象的元素类型
    ndarray.itemsize ndarray对象每个元素的大小,以字节为单位
    ndarray.flags ndarray对象的内存信息
    ndarray.real ndarray对象的实部
    ndarray.imag ndarray对象的虚部
    import numpy as np
    
    #ndim属性
    array_a=np.array([1,2,3,4,5,6,7,8])
    print(array_a)
    print(array_a.ndim)
    
    #调整大小
    array_b=array_a.reshape(2,2,2)
    print(array_b)
    print(array_b.ndim)
    
    [1 2 3 4 5 6 7 8]
    1
    [[[1 2]
      [3 4]]
    
     [[5 6]
      [7 8]]]
    3
    
    #shape属性
    array=np.array([[1,2],[3,4]])
    print(array)
    print(array.shape)
    
    #调整大小
    array.shape=(4,1)
    print(array)
    
    #通过reshape函数调整大小
    array=array.reshape(1,4)
    print(array)
    
    [[1 2]
     [3 4]]
    (2, 2)
    [[1]
     [2]
     [3]
     [4]]
    [[1 2 3 4]]
    
    #itemsize属性
    array_a=np.array([1,2,3],dtype=np.int64)
    print(array_a.itemsize)
    
    array_b=np.array([1,2,3],dtype=np.int8)
    print(array_b.itemsize)
    
    8
    1
  • 相关阅读:
    有上下界的可行流
    NOIP模拟——change
    NOIP模拟 ———number(假的数位dp)
    18.8.18NOIP模拟。。。。Snow
    字符串算法(KMP,Trie树,AC自动机)
    BZOJ4293 Siano
    NOIP2017 DAY2 T1
    AtCoder Grand Contest 023 D GO Home
    浅谈SPFA(队列优化的Bellman-Ford算法)
    最短路最基本算法———Floyd算法
  • 原文地址:https://www.cnblogs.com/LRainner/p/12882801.html
Copyright © 2011-2022 走看看