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

首頁 > 編程 > Python > 正文

深入理解NumPy簡明教程---數組3(組合)

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

前兩篇文章對NumPy數組做了基本的介紹,本篇文章對NumPy數組進行較深入的探討。首先介紹自定義類型的數組,接著數組的組合,最后介紹數組復制方面的問題。

自定義結構數組

通過NumPy也可以定義像C語言那樣的結構類型。在NumPy中定義結構的方法如下:

定義結構類型名稱;定義字段名稱,標明字段數據類型。

student= dtype({'names':['name', 'age', 'weight'], 'formats':['S32', 'i','f']}, align = True) 

這里student是自定義結構類型的名稱,使用dtype函數創建,在第一個參數中,'names'和'formats'不能改變,names中列出的是結構中字段名稱,formats中列出的是對應字段的數據類型。S32表示32字節長度的字符串,i表示32位的整數,f表示32位長度的浮點數。最后一個參數為True時,表示要求進行內存對齊。

字段中使用NumPy的字符編碼來表示數據類型。更詳細的數據類型見下表。

數據類型 字符編碼
整數 i
無符號整數 u
單精度浮點數 f
雙精度浮點數 d
布爾值 b
復數 D
字符串 S
Unicode U
Void V

在定義好結構類型之后,就可以定義以該類型為元素的數組了:

a= array([(“Zhang”, 32, 65.5), (“Wang”, 24, 55.2)], dtype =student) 

除了在每個元素中依次列出對應字段的數據外,還需要在array函數中最后一個參數指定其所對應的數據類型。

注:例子來源于張若愚的Python科學計算藝術的29頁。更多關于dtype的內容請參考《NumPy for Beginner》一書的第二章。

組合函數

這里介紹以不同的方式組合函數。首先創建兩個數組:

>>> a = arange(9).reshape(3,3) >>> a array([[0, 1, 2],    [3, 4, 5],    [6, 7, 8]]) >>> b = 2 * a >>> b array([[ 0, 2, 4],   [ 6, 8, 10],   [12, 14, 16]]) 

水平組合

>>> hstack((a, b)) array([[ 0, 1, 2, 0, 2, 4],   [ 3, 4, 5, 6, 8, 10],   [ 6, 7, 8, 12, 14, 16]]) 

也可通過concatenate函數并指定相應的軸來獲得這一效果:

>>> concatenate((a, b), axis=1) array([[ 0, 1, 2, 0, 2, 4],   [ 3, 4, 5, 6, 8, 10],   [ 6, 7, 8, 12, 14, 16]])             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇文区| 顺义区| 湖北省| 万源市| 桐柏县| 竹山县| 怀宁县| 广丰县| 吴桥县| 齐齐哈尔市| 东乡| 新龙县| 久治县| 大余县| 三明市| 襄樊市| 海伦市| 乾安县| 扶余县| 台山市| 乌兰察布市| 牙克石市| 鄂尔多斯市| 平山县| 天峨县| 东乌珠穆沁旗| 尚志市| 株洲市| 福泉市| 大连市| 怀安县| 鸡东县| 霍山县| 邵东县| 神池县| 铁岭县| 阆中市| 罗城| 监利县| 革吉县| 惠州市|