python库介绍------Numpy

NumPy简介:
  NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

   NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。

    NUMPY提供高性能,多维数组对象和工作工具使用这些数组。它的数组可以用作高效的通用多维容器数据。可以定义任意的数据类型。
1.先来看一下NumPy的数据类型
 (1)带符号整数类型
     int8: 1-byte       int16: 2-byte    int32: 4-byte    int64: 8-byte

  (2) 无符号整数类型

    uint8: 1-byte    uint16: 2-byte    uint32: 4-byte   uint64: 8-byte

  (3)C语言整数类型

     int_     intc     intp   short   long   longlong

(4)浮点型floating    布尔型Boolean      复数类型Complex    字符串类型str     日期时间类型data  and time  原始数据块Raw data block

  (5)内置数据类型的字符代码

  •      ?:boolean,                                                                                     例如:
  •    b: signed byte                        i4: 32-bit signed integer
  •      B: unsigned byte                                                                       u2: 16-bit signed integer
  •      i: signed integer                                     =========》                   f8: 64-bit floating-point
  •      u: unsigned integer                                                                   U25: 25-character string
  •      f: floating-point                                                                               V10: 10-byte wide data
  •    c: complex
  •    m: timedelta
  •    M: datetime
  •    O: Python object   
  •    S: (byte) string
  •    U: unicode string
  •    V: raw data (void)

接下来我们将举例说明NumPy的对数组的各种使用方法:

(1)ndarray  -----多维度数组

 解释:n--数字number  d--维度dimensional     array--数组


先看一下基本例子:

   ndarray具有的属性:

dtype  shape   ndim  size  itemsize  nbytes  flags  base  

  下面依次介绍属性使用:

   (2)axis

            为具有不止一个维度的数组定义轴。二维数组有两个对应的轴:第一个通过行(轴0)垂直向下运行,以及第二横跨柱(轴1)水平运行

例如:[ [ [ 0 1 2]

     [ 3 4 5] ]

      [ [ 6 7 8]

      [ 9 10 11] ] ]

sum(axis=0): [ [ 6 8 10] [12 14 16] ]

sum(axis=1): [ [ 3 5 7] [15 17 19] ]

sum(axis=3): [ [ 3 12] [21 30] ]

(3)创建多维度数组

  ①通过np.array------这个就是上面说的了,很简单

②通过函数

函数方法有:empty     zeros  ones  asarray  fromiter  arange      full   eye  random.random  linspace

实现也类似:

(4)多维数组的重塑:

 

(5)索引和切片

整数数组索引可以构造任意数组

使用来自另一个数组的数据

 
 

猜你喜欢

转载自www.cnblogs.com/qianshuixianyu/p/9238115.html