程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python附錄A NumPy高級應用

編輯:Python

在這篇附錄中,我會深入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的內部結構。

例如,一個10×5的數組,其形狀為(10,5):


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved