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

首頁 > 編程 > Python > 正文

Python中的Numeric包和Numarray包使用教程

2020-02-23 00:41:59
字體:
來源:轉載
供稿:網友

要了解 Numerical Python 軟件包的第一件事情是,Numerical Python 不會讓您去做標準 Python 不能完成的任何工作。它只是讓您 以快得多的速度去完成標準 Python 能夠完成的相同任務。實際上不僅僅如此;許多數組操作用 Numeric 或者 Numarray 來表達比起用標準 Python 數據類型和語法來表達要優雅得多。不過,驚人的速度才是吸引用戶使用 Numerical Python 的主要原因。

其實,Numerical Python 只是實現了一個新的數據類型:數組。與可以包含不同類型元素的列表、元組和詞典不同的是,Numarray 數組只能包含同一類型的數據。Numarray 數組的另一個優點是,它可以是多維的 -- 但是數組的維度與列表的簡單嵌套稍有不同。Numerical Python 借鑒了程序員的實踐經驗(尤其是那些有科學計算背景的程序員,他們抽象出了 APL、FORTRAN、MATLAB 和 S 等語言中數組的最佳功能),創建了可以靈活改變形狀和維度的數組。我們很快會回來繼續這一話題。

在 Numerical Python 中對數組的操作是 按元素進行的。雖然二維數組與線性代數中的矩陣類似,但是對它們的操作 (比如乘) 與線性代數中的操作 (比如矩陣乘) 是完全不同的。

讓我們來看一個關于上述問題的的具體例子。在純 Python 中,您可以這樣創建一個“二維列表”:
清單 1. Python 的嵌套數組

>>> pyarr = [[1,2,3],...     [4,5,6],...     [7,8,9]]>>> print pyarr[[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> pyarr[1][1] = 0>>> print pyarr[[1, 2, 3], [4, 0, 6], [7, 8, 9]]

很好,但是您對這種結構所能做的只是通過單獨的 (或者多維的) 索引來設置和檢索元素。與此相比,Numarray 數組要更靈活:
清單 2. Numerical Python 數組

>>> from numarray import *>>> numarr = array(pyarr)>>> print numarr[[1 2 3] [4 0 6] [7 8 9]]

改變并不大,但是使用 Numarray 進行的操作如何呢? 下面是一個例子:
清單 3. 元素操作

>>> numarr2 = numarr * 2>>> print numarr2[[ 2 4 6] [ 8 0 12] [14 16 18]]>>> print numarr2 + numarr[[ 3 6 9] [12 0 18] [21 24 27]]

改變數組的形狀:
清單 4. 改變形狀

>>> numarr2.shape = (9,)>>> print numarr2[ 2 4 6 8 0 12 14 16 18]

Numeric 與 Numarray 之間的區別

總體來看,新的 Numarray 軟件包與早期的 Numeric 是 API 兼容的。不過,開發者基于用戶經驗進行了一些與 Numric 并不兼容的改進。開發者沒有破壞任何依賴于 Numeric 的應用程序,而是開創了一個叫做 Numarray 的新項目。在完成本文時,Numarray 還缺少 Numeric 的一些功能,但是已計劃實現這些功能。

Numarray 所做的一些改進:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渝北区| 射洪县| 韶关市| 高要市| 什邡市| 绥棱县| 英山县| 浦东新区| 华坪县| 嘉义县| 刚察县| 东港市| 穆棱市| 如东县| 林周县| 武定县| 大余县| 昌平区| 大渡口区| 邯郸市| 恩平市| 芒康县| 敦煌市| 都安| 南靖县| 凭祥市| 米易县| 贵州省| 安福县| 金湖县| 东城区| 砀山县| 饶河县| 家居| 东源县| 庆元县| 镇平县| 桂阳县| 上思县| 合川市| 天全县|