首页 > 其他 > 详细

numpy 库

时间:2021-08-21 15:17:31      阅读:26      评论:0      收藏:0      [点我收藏+]

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

                          

 

numpy 库

原文:https://www.cnblogs.com/huateng/p/15169288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!