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提供的数组属性来获得

  • 相关阅读:
    MongoDB 搭建可复制群集
    jquery获取json对象中的key小技巧,遍历json串所有key,value
    21-spring学习-springMVC实现CRUD
    java线程--volatile实现可见性
    java线程-synchronized实现可见性代码
    java线程-java多线程之可见性
    java反射--通过反射了解集合泛型的本质
    java反射--方法反射的基本操作
    java反射--获取成员变量信息
    java反射-获取方法信息
  • 原文地址:https://www.cnblogs.com/kai-/p/14823330.html
Copyright © 2011-2022 走看看