一、NumPy介绍

  NumPy是Python中科学计算的基础包,它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

  • 功能强大的N维数组对象。
  • 精密广播功能函数。
  • 集成 C/C+和Fortran 代码的工具。
  • 强大的线性代数、傅立叶变换和随机数功能。

二、Ndarray介绍

  NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。

三、Ndarray和python中的list列表的区别

  C数组:学过C语言的都知道,在C语言中数组是一个连续的内存空间,并且数组中的数据的类型也是一致的。

  python列表:python中的列表里面存放的对象,可以是不同的数据类型。其底层实现是通过类似C语言中的指针数组来实现,即python的列表中存放的数据的指针即他们的地址,然后再根据这个指针找到具体的数据。

  Ndarray数组:和C语言数组实现类似,也是一段连续的内存空间,里面存放的也是相同的数据类型。

  详细如下:

  • NumPy 数组在创建时具有固定的大小,与Python的原生数组对象(可以动态增长)不同。更改ndarray的大小将创建一个新数组并删除原来的数组。
  • NumPy 数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同。
  • NumPy 数组有助于对大量数据进行高级数学和其他类型的操作。通常,这些操作的执行效率更高,比使用Python原生数组的代码更少。

四、初始化NumPy数组

  1、安装 numpy 包

    pip3 install numpy

  2、导入 numpy 包

    import numpy

  3、使用一个列表初始化一个NumPy数组

    函数作用:初始化一个NumPy数组

    函数原型:numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0)

    参数示例:

      * object: 必填参数:即创建NumPy数组的数据对象

      * dtype: 可选参数,通过它可以更改数组的数据类型---可将原来的整型或者其他类型进行强制转换

      * copy: 可选参数,当数据源是ndarray 时表示数组能否被复制,默认是True

      * order: 可选参数,以哪种内存布局创建数组,有3个可选值,分别是C(行序列)/F(列序列)/A(默认)

      * ndmin: 可选参数,用于指定数组的维度--例如 一维数组、二维数组、三维数组等

      * subok: 可选参数,类型为bool值,默认为False。 为True,使用object的内部数据类型; 为False 使用object数组的数据类型

    代码示例:

    NumPy(1)-常用的初始化方法-LMLPHP

     注意:

      * 其中np_array就是Ndarray类型。

      * data_list中的数据类型是不一致,但是转化成np_array后,数据格式一致了,都变成了字符串类型。

      * 如果传进来的列表包含不同的类型,则统一转化为同一类型,转化的优先级:str>float>int,即有str则都转化为str,这样才能保证NumPy数组中数组的一致性。

  4、numpy.ones()

    函数作用:创造出来的数组里面填充的都是1

    函数原型:numpy.ones(shape, dtype=None, order='C', *, like=None)

    参数解释:

      * shape:创建出来数组的形状,是一维数组,还是二维数组,还是多维数组等等

      * dtype:数据的类型

      * order:指定内存重以行优先(‘C’)还是列优先(‘F’)顺序存储多维数组。

    代码示例:

    NumPy(1)-常用的初始化方法-LMLPHP
07-16 23:29