• Numpy 的使用


    模块的导入

      import numpy as np ---> 约定俗成 起别名 np

    使用

      生成 ndarray 对象    

        arraynp.array([1,2,3,4,5]) ---> array([1, 2, 3, 4, 5])

        arange:np.arange(10) ---> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

            类似于python的 range 版本(前包后不包)

        linspace:np.linspace(起始位,末位) ----> 默认分成50等份, 且包含末位

                  可以额外设置参数:endpoint=False ---> 不包含末位

                           num=10 ---> 指定为均分10份

        zeros:np.zeros(10) ---> array([0, 0, 0,0,0,0 ,0, 0 ,0 ,0])

        ones:np.ones(10) ---> array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

        empty:np.empty([2,2]) ---> 对于多维数组而言的(随机生成的值)

                    array([[4.94065646e-324, 6.95252928e-310],

                       [6.95252928e-310, 6.95252928e-310]])

        eye:np.eye(10) ---> 如下:对角线的值为1, 10行10列:如下图:

                                                        


      ndarray 的属性

        转置:T ----> res.T 行列互换,行变列,列变行(4行3列 --> 3行4列)

        类型:dtype ----> res.dtype 可以使用astype进行数据类型的转换 res.astype('float')

        元素个数:size ---> res.size

        维度:ndim ---> res.ndim 一般我们用到的就是2维

        形状:shape ---> res.shape 以元祖的形式展现 还可以使用 reshape 来更改形状(维度)

            变一维:res.reshape(传一个值)

            变二维:reshape(传元祖,两个值) ---> 注:两个值的积必须等于一个值


       索引

        一维:与 python 中的 list 一致

        二维:需要两个值,逗号前面是行索引,后面是列索引

            如:res = np.array([1, 2, 3, 4],

                     [5, 6, 7, 8])

              res[1,1] = 6 ---> 表示取第二行第二列的值


     

      切片   

        一维:与 python 中的 list 一致

           如:res[1:4] res[:] res[:4]

        二维:需要两组值,逗号前面是行索引,后面是列索引

           如:res = array([[ 1, 2, 3, 4],

                   [ 5, 6, 7, 8],

                   [ 9, 10, 11, 12]])

             res[1:3, 1:3] = ([6,7], [10, 11]) ---> 表示取第二行到第四行且第二列到第四列的值(前包后不包)

     


     

      布尔型索引

        要求:给一个数组, 选出数组中大于5的数

    import numpy as np
    import random
    
    li = [random.randint(1,10) for _ in range(20)]  # 随机生成20个1到10的整数
    res = np.array(li)  # 使用最多的是 array 的方式
    
    # 注意:
    res > 5   # 结果如下:返回一个个布尔值
    array([False,  True,  True,  True, False, False, False, False,  True,
           False,  True, False,  True,  True,  True, False, False,  True,
           False,  True])
    # res > 5条件可以当做索引
    res[res>5]   # 结果如下:取出布尔值为 True 的对应的原值
    array([ 8,  6,  8,  9,  9,  8,  7, 10,  9,  9])

      花式索引

        应用场景:一次性想要获取多个不同的值

    import numpy as np
    
    res = np.array([1,2,3,4,5,6,7,8,9,10])
    # 获取值是 2 4 7 9 的四个值
    res[[1,3,6,8]]   # 内层括号中的数据是 想要获取的值的  索引下标

      通用函数

        能够接受一个数组的叫做一元函数,接受两个的叫做二元函数

        注浮点型特殊值---> 有两个

            第一种: nan 不等于任何值,甚至不等于自身 ---> np.nan

                数据分析中, nan 常被用作表示数据的缺失值

            第二种:inf 比任何浮点数都大 infinity缩写 (无限大) ---> np.inf

                                       

                                    

                                     

                                    

     

  • 相关阅读:
    make[1]: *** [/workopenwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/stamp/.tools_install_nnnnn] Error 2 make[1]: Leaving directory `/work/openwrt/trunk' make: *** [world]
    安卓端与开发板通信
    openwrt串口的使用
    .OpenWrt驱动程序Makefile的分析概述 、驱动程序代码参考、以及测试程序代码参考
    openwrt系统之字符设备驱动软件包加载、测试程序加载
    cc2530串口通信流程
    cc2530操作任务系统初始化分析
    总结OpenWrt系统基本操作方法
    Zigbee协议栈OSAL层API函数【转载】
    cc2530启动流程---广播发送数据
  • 原文地址:https://www.cnblogs.com/pupy/p/11985462.html
Copyright © 2020-2023  润新知