當前位置:
首頁 > 最新 > Sargent的量化經濟學(9):NumPy

Sargent的量化經濟學(9):NumPy

NumPy

概述

NumPy(https://en.wikipedia.org/wiki/NumPy)是最好的數值編程實驗室。

廣泛應用於學術、金融和行業研究領域

成熟、快速、穩定以及不斷改進完善

本講介紹NumPy數列,以及基礎的數列運算

重要提示

首先,NumPy已經安裝在電腦中

其次,我們會用新命令A@B來指代矩陣乘法,用以取代舊命令np.dot(A,B)

這些程序的運行都要求安裝Python3.5或者Anaconda以上版本

安裝或者升級Anaconda,參考https://lectures.quantecon.org/py/getting_started.html

參考資料

Theofficial NumPy documentation:https://docs.scipy.org/doc/numpy/reference/

NumPy介紹

NumPy所能解決的問題是快速的數組處理

例如,假設我們想創建一個由均勻分布中抽取的一百萬隨機數的數組,並計算其均值

如果在純Python環境中進行運算,計算速度比C或Fortran慢太多

這是因為

Python循環花費很多時間

C和Fortran代碼包含許多種最優化的信息

此時,我們用NumPy,看起來如下

創建數組、計算均值的運算都分發到來自C的最優化機器代碼

一般來說,NumPy將運算批量發送到最優化C和Fortran代碼來處理

其精髓與Matlab類似,即提供一個快速Fortran進程的界面

向量化的建議

NumPy是非常好的向量化工具

向量化操作屬於預編譯進程,像:

矩陣乘法與另一些線性代數進程

創造隨機數的向量

將一種固定的轉換(例如sin或cos)應用於整個數組

NumPy數組

最重要的是NumPy定義是一種數組數據類型,正式格式是numpy.ndarray(https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html)

為了創建一種NumPy數組,僅僅包含,我們用np.zeros(https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html#numpy.zeros)

NumPy數組有點像原始Python的list,除了

數據必須是同型

這些類型必須是NumPy提供的一種數據類型(dtypes)

這些數據類型最重要的是:

float64: 64 bit floating point number

int64: 64 bit integer

bool: 8 bit True or False

還有一些數據類型代表複數、無符號整數,等

對於當代計算機來說,默認的數組類型是float64

如果我們想要用整數,可以作出如下聲明

在最後的例子中,為了創建2*2數組,我們用zeros()函數,正如z=np.zeros((2,2))

創建數組

正如我們看到的,np.zeros函數創建零數組

你們可能會猜出np.ones所創建的數組

還有一個就是np.empty,

你所看到的這些數值都是無用的

為了創建一個均勻分布的數組,用np.linspace

為了創建單位數組,要麼用np.identity,要麼用np.eye

此外,NumPy數組可以從Python lists,tuple等等中創建,用np.array

也可以見np.asarray

進一步閱讀可參見https://lectures.quantecon.org/py/numpy.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 宏觀經濟研學會 的精彩文章:

TAG:宏觀經濟研學會 |

您可能感興趣

最輕量化【街霸】: YZF-R3的Street Fighter變形計
恭喜VIP+RM學員斬獲Numerix紐約量化實習Offer!
Google Tensorflow Lite 8bit 量化論文
The North Face 推出輕量化 Mods Coat 雨衣
Galaxy Watch Active 三星輕量化智能手錶體驗
AI量化:Python基礎
DBS Superleggera超輕量化了,而我還是胖的
Google論文解讀:輕量化卷積神經網路MobileNetV2
輕量化藝術的傑出之作 Arcteryx Konseal FL接近鞋拼評測
全新輕量化 Baltoro&Deva開始預售!
耳機丨「無線、輕量化」Sennheiser CX Sport運動耳機
Python中的向量化編程
AJ 輕量化進程再次啟動!AJ20 Flyknit Melo 即將發售
法國Prodways:DLP批量化和陶瓷3D列印技術詳解
Python量化自動交易系統vnpy特訓營.東莞站
俄勒岡州的希臘女神之七:輕量化再次升級,Nike Zoom Kobe 4
忍者回歸-Nike Air Rift 輕量化再登場
用深度學習實現自然語言處理:word embedding,單詞向量化
瞄準邊緣計算,K3S讓Kubernetes部署變得更加輕量化
惠普推出批量化生產金屬的 3D 列印技術 Metal Jet