zoukankan      html  css  js  c++  java
  • NumPy 介绍

    numpy

    numpy 介绍

    NumPy(Numerical Python)是Python的一种开源的数值计算扩展库

    这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示矩阵),支持大量的维度数组与矩阵运算

    • 一个强大的N维数组对象 ndarray
    • 广播功能函数
    • 整合 C/C++/Fortran 代码的工具
    • 线性代数、傅里叶变换、随机数生成等功能

    NumPy数组 和 原生Python Array(数组)之间有几个重要的区别

    • NumPy 数组在创建时具有固定的大小,与Python的原生数组对象(可以动态增长)不同。更改ndarray的大小将创建一个新数组并删除原来的数组。
    • NumPy 数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同。 例外情况:Python的原生数组里包含了NumPy的对象的时候,这种情况下就允许不同大小元素的数组。
    • NumPy 数组有助于对大量数据进行高级数学和其他类型的操作。通常,这些操作的执行效率更高,比使用Python原生数组的代码更少。
    • 越来越多的基于Python的科学和数学软件包使用NumPy数组; 虽然这些工具通常都支持Python的原生数组作为参数,但它们在处理之前会还是会将输入的数组转换为NumPy的数组,而且也通常输出为NumPy数组。换句话说,为了高效地使用当今科学/数学基于Python的工具(大部分的科学计算工具),你只知道如何使用Python的原生数组类型是不够的 - 还需要知道如何使用 NumPy 数组

    numpy 为什么这么快

    底层运行的是C和C++的代码

    ndarray 在存储数据的时候,数据与数据的地址都是连续的,而 python 原生 list 就只能通过寻址方式找到下一个元素,这样就给使得批量操作数组元素时速度更快


    什么是维度、秩

    对于维度(axis)的介绍,官网是这么写的“ In NumPy dimensions are called axes”,即 在NumPy中,维度被称为轴

    什么是秩(rank)?它是指轴的数量,或者维度的数量,是一个标量

    在下面的例子中,有一个数组 [1,2,1], 它的维度是1,也就是有一个轴,这个轴的长度是3,而它的秩也为1。这些信息,都可以通过NumPy提供的数组属性来获得

  • 相关阅读:
    单元測试和白盒測试相关总结
    数据结构:图的实现--邻接矩阵
    Android提示版本号更新操作流程
    《集体智慧编程》代码勘误:第六章
    LINUX设备驱动程序笔记(三)字符设备驱动程序
    数学定理证明机械化的中国学派(II)
    《Java并发编程实战》第三章 对象的共享 读书笔记
    Linux系列-安装经常使用软件
    Kubuntu 初始配置
    虚拟互换(virtual swap)
  • 原文地址:https://www.cnblogs.com/kai-/p/14823330.html
Copyright © 2011-2022 走看看