zoukankan      html  css  js  c++  java
  • numpy 库

    【1】为什么要用numpy

              低效的python  for  循环

              eg:  求100万个数的倒数

     

     %timeit: python 中 统计时间的魔术方法(多次运行取平均值)

    实现相同的运算,numpy  的运行速度是python 的25 倍,产生了质的飞跃

    【2】numpy  为什么如此高效?

             numpy   是由C 语言编写的,对代码进行整体编译,速度更快

             numpy 数组内的数据类型必须是统一的,而python  列表支持任意类型的数据填充

              C语言可以实现多线程并行,python  语言执行时有线程锁

       说明:

            多线程,是指从软件或硬件上实现多个线程并发执行的技术,有硬件的支持,计算机能够在同一时间执行多个线程,进而提升整体处理性能,

    【3】 什么时候使用numpy?

             在数据处理的时候,实现一些向量化、矩阵化操作的时候,要优先考虑用numpy

            eg: 两个向量的点乘

                    矩阵乘法

    【4】numpy 数组的创建

             4.1从列表开始创建

             

                   4.2  设置数组的数据类型

                          

           

    【5】 从头创建数组

              5.1   创建长度为5 的数组,值都是0 

                 

               5.2  创建一个2*4 的浮点型数组,值都为1

                      

                   5.3   创建一个3*5 的数组,值都为8.8 

                            

                  5.4 创建一个3*3 的单位矩阵

                        

                      5.5 创建一个线性序列数组,从1开始,到15结束 ,步长为2

                       

                  5.6   创建一个4个元素的数组,这四个数均匀的分配到0~1

                        

                     5.7   创建一个10 个元素的数组,形成1~10^9 的等比例数列

                            

                       5.8   创建一个3*3 的,在0~1 之间均匀分布的随机数构成的数组

                           

                        5.9    创建一个3*3 ,均值为0 ,标准差为1的正态分布随机 数构成的数组

                           

                           5.10    创建一个3*3 的,在【0,10 】之间随机整数构成的数组

                                     

                               5.11  随机重排列

                                  

                                  5.12   随机采样

                                    按指定形状采样

                                  

    【6】数组的性质

              6.1 数组的属性

                     

                 6.2   数组的形状shape

                            

                 6.3   数组的维度  ndim 

                      

                   6.4  数组的大小 size

                      

                 6.5    数组数据的类型 dtype

                      

    【7】 数组的索引

             7.1   一维数组的索引

                

                 7.2   多维数组的索引  --- 以二维为例

                

       注意: numpy 数组的数据类型是固定的,向一个整型数组插入一个浮点值,浮点值会向下进行取暖

         

    【8】 数组的切片

          8.1  一维数组  和列表一样

                 

                 8.2  多维数组   (以二维为例)

                  

                    

                      8.3 获取数组的行和列

                      

                   8.4    切片获取的是视图,而不是副本

                  

            说明: 视图元素发生修改,则原数组亦会发生相应的修改

               

                             

                       8.5     修改切片的安全方式 :copy 

                            

      【9】 数组的变形  reshape()

                

                  注意:reshape  返回的是视图,而非副本

                        

                         9.1  一维向量转行向量

                              

  • 相关阅读:
    对JavaScript调用堆栈和setTimeout用法的深入研究
    Js中的window.parent ,window.top,window.self 代表的对象
    lhgselect 联动选择下拉菜单 v1.0.0 (20110613)
    lhgcore JavaScript Library v1.4.5 API (20110622)
    表单元素完美垂直居中
    判断 iframe 是否加载完成的完美方法
    lhgdialog 弹出窗口插件 v3.5.2 ( 20110704 )
    JS的事件冒泡和事件捕获
    程序设计原则
    python中入口函数的用法
  • 原文地址:https://www.cnblogs.com/huateng/p/15169288.html
Copyright © 2011-2022 走看看