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  一维向量转行向量

                          

 

posted @ 2021-08-21 12:44  华腾  阅读(195)  评论(0编辑  收藏  举报