欢迎光临散文网 会员登陆 & 注册

《利用Python进行数据分析·第2版》 附录A NumPy高级应用

2018-05-06 00:07 作者:绝不原创的飞龙  | 我要投稿

在这篇附录中,我会深入NumPy库的数组计算。这会包括ndarray更内部的细节,和更高级的数组操作和算法。

这章包括了一些杂乱的章节,不需要仔细研究。

A.1 ndarray对象的内部机理

NumPy的ndarray提供了一种将同质数据块(可以是连续或跨越)解释为多维数组对象的方式。正如你之前所看到的那样,数据类型(dtype)决定了数据的解释方式,比如浮点数、整数、布尔值等。

ndarray如此强大的部分原因是所有数组对象都是数据块的一个跨度视图(strided view)。你可能想知道数组视图arr[::2,::-1]不复制任何数据的原因是什么。简单地说,ndarray不只是一块内存和一个dtype,它还有跨度信息,这使得数组能以各种步幅(step size)在内存中移动。更准确地讲,ndarray内部由以下内容组成:

  • 一个指向数据(内存或内存映射文件中的一块数据)的指针。

  • 数据类型或dtype,描述在数组中的固定大小值的格子。

  • 一个表示数组形状(shape)的元组。

  • 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要“跨过”的字节数。

图A-1简单地说明了ndarray的内部结构。

阅读全文:http://t.cn/Rudcl1g


《利用Python进行数据分析·第2版》 附录A NumPy高级应用的评论 (共 条)

分享到微博请遵守国家法律