国产探花免费观看_亚洲丰满少妇自慰呻吟_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]])             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南汇区| 通城县| 钟祥市| 循化| 兴安县| 长岭县| 浦东新区| 曲阜市| 沙湾县| 明溪县| 玉环县| 临清市| 缙云县| 洛隆县| 简阳市| 郧西县| 磐石市| 昭平县| 丰镇市| 威远县| 长海县| 高唐县| 泸溪县| 黄陵县| 彰武县| 乌什县| 行唐县| 桦甸市| 西吉县| 奎屯市| 天祝| 潼关县| 德保县| 莲花县| 乐东| 罗源县| 通榆县| 隆化县| 通河县| 淮安市| 东辽县|