首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Numpy 修炼之道(1)——什么是 Numpy

文章内容:Numpy简介

Numpy 是什么

简单来说,Numpy 是 Python 的一个科学计算包,包含了多维数组以及多维数组的操作。

Numpy 的核心是 ndarray 对象,这个对象封装了同质数据类型的n维数组。起名 ndarray 的原因就是因为是 n-dimension-array 的简写。

ndarray 与 python 原生 array 有什么区别

NumPy 数组在创建时有固定的大小,不同于Python列表(可以动态增长)。更改ndarray的大小将创建一个新的数组并删除原始数据。

NumPy 数组中的元素都需要具有相同的数据类型,因此在存储器中将具有相同的大小。数组的元素如果也是数组(可以是 Python 的原生 array,也可以是 ndarray)的情况下,则构成了多维数组。

NumPy 数组便于对大量数据进行高级数学和其他类型的操作。通常,这样的操作比使用Python的内置序列可能更有效和更少的代码执行。

越来越多的科学和数学的基于Python的包使用NumPy数组,所以需要学会 Numpy 的使用。

Numpy 的矢量化(向量化)功能

如果想要将一个2-D数组 a 的每个元素与长度相同的另外一个数组 b 中相应位置的元素相乘,使用 Python 原生的数组实现如下:

for(i=;i

使用 Numpy 实现的话,则可以直接使用矢量化功能:

c=a*b

矢量化代码有很多优点,其中包括:

矢量化代码更简洁易读

更少的代码行通常意味着更少的错误

该代码更接近地类似于标准数学符号(使得更容易,通常,以正确地编码数学构造)

矢量化导致更多的“Pythonic”代码。如果没有向量化,我们的代码将会效率很低,难以读取循环。

脑洞科技栈

专注于人工智能与量化投资领域

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G008BU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券