美文网首页jupyter使用
numpy 介绍及常用函数

numpy 介绍及常用函数

作者: YanyZhao | 来源:发表于2018-12-04 11:10 被阅读0次

1. numpy介绍:

  • NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
  • NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合。

ndarray到底跟原生python列表的区别:

  • ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。

    numpy array与list对比
  • 因为ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而python原生list就只能通过寻址方式找到下一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list,但在科学计算中,Numpy的ndarray就可以省掉很多循环语句,代码使用方面比Python原生list简单的多。

  • numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算。

  • Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。

  • 注意:np.array只是一个便捷的函数,用来创建一个ndarray,它本身不是一个类。
    以上源自百度百科:numpy

2. numpy常用函数:

2.1 array的组合、扩展

np.vstack(a,b) # 竖直堆放矩阵
np.hstack(a,b) # 水平对方矩阵
a.transpose() # 矩阵转置

2.2 切片

a[:,1]取出第一列的所有行
a[:-1,1]取出第一列的0到倒数第二行,-1代表从后往前数第二个
a[a:b,m:n] 对二维数组第a到b-1行第m到n-1列进行切片
a[:] 原样复制一个list

2.3 numpy.eye() 生成对角矩阵

numpy.eye(N,M=None, k=0, dtype=<type 'float'>)
关注第一个第三个参数就行了

第一个参数:输出方阵(行数=列数)的规模,即行数或列数

第三个参数:默认情况下输出的是对角线全“1”,其余全“0”的方阵,如果k为正整数,则在右上方第k条对角线全“1”其余全“0”,k为负整数则在左下方第k条对角线全“1”其余全“0”。

>>> np.eye(2, dtype=int)
array([[1, 0],
       [0, 1]])
>>> np.eye(3, k=1)
array([[ 0.,  1.,  0.],
       [ 0.,  0.,  1.],
       [ 0.,  0.,  0.]])

2.4 .shape

c.shape : 查看c矩阵或者数组的维数
c.shape[0] : c矩阵第一维的长度
c.reshape(-1):将数组展开成一维向量
c.reshape(-1,4):将数组展开成一维,每行有4个数,是4*2的数组。

    >>> c = array([[1,1],[1,2],[1,3],[1,4]])  
    >>> c.shape  
    (4, 2)  
    >>> c.shape[0]  
    4  
    >>> c.shape[1]  
    2  
    >>> c.reshape(-1)
   array([1, 1, 1, 2, 1, 3, 1, 4])
   >>> c.reshape(-1,4)
   array([[1, 1, 1, 2],
             [1, 3, 1, 4]])

2.5 np.linalg

np.linalg : 简写linalg=linear+algebra

(1)np.linalg.inv():矩阵求逆
(2)np.linalg.det():矩阵求行列式(标量)
 注: .dot()函数可以通过numpy库调用,也可以由数组实例对象进行调用。a.dot(b) 与 np.dot(a,b)效果相同。
(3)np.linalg.norm : 求矩阵的范数(默认二范数——笛卡尔空间)
(4)np.linalg.pinv(m):求m矩阵的伪逆矩阵

别人博客蛮详细的讲解
python中数组(numpy.array)的基本操作

相关文章

  • numpy 介绍及常用函数

    1. numpy介绍: NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比...

  • 均值函数numpy.mean

    mean是numpy中常用的求均值函数 现将mean的常用方法总结如下: 函数体: numpy.mean(a, a...

  • numpy中的hstack()、vstack()、stack()

    本文主要介绍一下numpy中的几个常用函数,包括hstack()、vstack()、stack()、concate...

  • numpy1~2

    7.1Numpy基础 介绍了Numpy数组对象特性,array()函数、arrange()函数、linspace(...

  • 深度学习--神经网络

    python库--numpy 安装 pip install numpy numpy部分函数介绍 np.array(...

  • Python-03 ~ 机器学习库 之 NumPy

    NumPy是机器学习中最常用的计算科学库,今天就来看看吧 NumPy简单介绍 NumPy的简单介绍:NumPy是机...

  • Chapter4. Numpy之I/O

    本章介绍numpy的I/O函数。 1、numpy.loadtext() numpy.loadtxt(fname,d...

  • Numpy常用函数

    熟练掌握Numpy是基于python机器学习必备技能,本文统计了2本tensorflow书中tf出现的频率:

  • numpy常用函数

    1 np.newaxis 为 numpy.ndarray(多维数组)增加一个轴 2 np.random.randn...

  • Numpy 常用函数

    Numpy用法速查手册 基本函数: 统计函数: 集合函数: 矩阵运算相关函数: 随机数函数:np.random ...

网友评论

    本文标题:numpy 介绍及常用函数

    本文链接:https://www.haomeiwen.com/subject/gtcmcqtx.html