国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

深入理解NumPy簡明教程---數組1

2020-02-23 04:10:54
字體:
來源:轉載
供稿:網友

目前我的工作是將NumPy引入到Pyston中(一款Dropbox實現的Python編譯器/解釋器)。在工作過程中,我深入接觸了NumPy源碼,了解其實現并提交了PR修復NumPy的bug。在與NumPy源碼以及NumPy開發者打交道的過程中,我發現當今中文NumPy教程大部分都是翻譯或參考英文文檔,因此導致了許多疏漏。比如NumPy數組中的broadcast功能,幾乎所有中文文檔都翻譯為“廣播”。而NumPy的開發者之一,回復到“broadcast is a compound -- native English speakers can see that it's " broad" + "cast" = "cast (scatter, distribute) broadly, I guess "cast (scatter, distribute) broadly" probably is closer to the meaning(NumPy中的含義)"。有鑒于此,我打算啟動一個項目,以我對NumPy使用以及源碼層面的了解編寫一個系列的教程。

NumPy數組

NumPy數組是一個多維數組對象,稱為ndarray。其由兩部分組成:

實際的數據 描述這些數據的元數據

大部分操作僅針對于元數據,而不改變底層實際的數據。

關于NumPy數組有幾點必需了解的:

NumPy數組的下標從0開始。 同一個NumPy數組中所有元素的類型必須是相同的。

NumPy數組屬性

在詳細介紹NumPy數組之前。先詳細介紹下NumPy數組的基本屬性。NumPy數組的維數稱為秩(rank),一維數組的秩為1,二維數組的秩為2,以此類推。在NumPy中,每一個線性的數組稱為是一個軸(axes),秩其實是描述軸的數量。比如說,二維數組相當于是兩個一維數組,其中第一個一維數組中每個元素又是一個一維數組。所以一維數組就是NumPy中的軸(axes),第一個軸相當于是底層數組,第二個軸是底層數組里的數組。而軸的數量——秩,就是數組的維數。

NumPy的數組中比較重要ndarray對象屬性有:

ndarray.ndim:數組的維數(即數組軸的個數),等于秩。最常見的為二維數組(矩陣)。 ndarray.shape:數組的維度。為一個表示數組在每個維度上大小的整數元組。例如二維數組中,表示數組的“行數”和“列數”。ndarray.shape返回一個元組,這個元組的長度就是維度的數目,即ndim屬性。 ndarray.size:數組元素的總個數,等于shape屬性中元組元素的乘積。 ndarray.dtype:表示數組中元素類型的對象,可使用標準的Python類型創建或指定dtype。另外也可使用前一篇文章中介紹的NumPy提供的數據類型。 ndarray.itemsize:數組中每個元素的字節大小。例如,一個元素類型為float64的數組itemsiz屬性值為8(float64占用64個bits,每個字節長度為8,所以64/8,占用8個字節),又如,一個元素類型為complex32的數組item屬性為4(32/8)。 ndarray.data:包含實際數組元素的緩沖區,由于一般通過數組的索引獲取元素,所以通常不需要使用這個屬性。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雅安市| 万载县| 淮滨县| 文化| 沁水县| 青田县| 乡城县| 广昌县| 和田市| 天全县| 鄂伦春自治旗| 巴马| 社旗县| 兴宁市| 盘山县| 米脂县| 交口县| 清水县| 依兰县| 改则县| 庆安县| 十堰市| 龙山县| 项城市| 衡山县| 昭苏县| 大同市| 广州市| 泰兴市| 枣阳市| 木兰县| 新民市| 城口县| 册亨县| 武陟县| 尚志市| 应城市| 阿拉尔市| 和静县| 昌都县| 华阴市|