经济学中的定量分析python_Sargent定量经济学(3):Python
原標題:Sargent定量經濟學(3):Python
許文立 武漢大學經濟與管理學院 xuweny87@163.com
許坤 安徽大學經濟學院 kunxu2014@126.com
從今天開始,陸續介紹Sargent等的定量經濟學講稿Python版。
首先看看第一部分 Python編程。
關于Python
總覽
在這份講稿里,我們將會概述Python是什么
展示它的一些功能
將它與另一些語言進行比較
當我們展示Python代碼的時候,我們并不是為了讓你們盡量掌握所有細節,或者嘗試去復雜你們所看到的東西。
我們將會在以后一步一步的展示所有Python的材料。
本次講座的唯一目的就是讓你們能感受一下Python是什么,它能做什么。
Python是什么?
Python是一種通用編程語言,它由荷蘭程序猿在1989年構想出來。
Python是免費開源的,由Python軟件基金會()發展協調。
Python在過去十年迅速流行起來,現在是最流行的編程語言之一(十大流行編程語言,https://www.rinftech.com/top-10-programming-languages-2017/)
整個Python生態系統仍在不斷地、迅速地完善(https://www.oreilly.com/ideas/5-things-to-watch-in-python-in-2017)。
通常用途
Python是一種幾乎用于所用應用領域的通用語言
通訊
網絡開發
CGI與CUI
游戲
多媒體,數據處理,安全等等
網絡服務與高科技公式也經常使用它,例如
, etc., etc.
它經常用于計算機科學和編程的教學。
Python在科學界尤其流行
academia, NASA, CERN, Wall St., etc., etc.
下面,我們將會更加詳細的探討這些。
特性
適用于快速發展的高級語言
被許多實驗室支持的,相對較小的核心語言
多范式語言,在其中,多種類型語言可以兼容(procedural, object-oriented, functional等等)
解讀而不是編譯
句法與設計
Python的一個非常棒的特性就是其優美的句法——我們將會在后面看到許多例子。
優美的代碼聽起來可能有點“花瓶”,但是實際上它是非常有益的,因為它使得語法易于閱讀和易于記憶。
記住如何從文件中讀取,按照字典排序,以及其他一些類似的進程任務意味著你們不需要打斷思維流程,以便追蹤互聯網上的正確語法。
與優美句法緊密聯系的就是優美的設計。
像 iterators, generators, decorators, list comprehensions等這樣的特征使得Python具有很高的表現力,可以讓你用更少的代碼來完成更多的工作。
靠減少漏洞和句法錯誤來提高效率。
科學編程
過去十年,Python已經成為了科學計算領域最核心的語言之一。
它現在在下列領域要么是主流語言,要么是主要語言:
機器學習和數據科學
天文學
人工智能
化學
計算生物學
氣象學
等等
這個部分簡要展示一些Python進行科學編程的示例。
所有的主題在后面還將更加詳細的演示
數值編程
基本的矩陣與數組處理能力是由杰出的(http://www.numpy.org/)實驗室支持。
提供基本的數組數據類型以及一些簡單的處理操作。
例如
Out 25.0
(https://www.scipy.org/)實驗室在基礎上,又提供了額外的功能。
例如,我們計算積分∫2?2?(z)dz
,?是標準正態分布密度函數。
Out 0.9544997361036417
提供許多標準程序
線性代數
積分
插值
最優化
分布和隨機數生成
信號處理
等等
圖
最流行、最全面的圖表Python實驗室就是(http://matplotlib.org/)
Plots, histograms, contour images, 3D, bar charts, etc., etc.
Output in many formats (PDF, PNG, EPS, etc.)
LaTeX integration
例如,嵌入LaTex注解的2D圖
等壓圖
3D圖
更多例子可以在(http://matplotlib.org/gallery.html)中查看。
另一些圖形實驗室如下:
(https://plot.ly/python/)
(http://bokeh.pydata.org/en/latest/)
(http://www.vpython.org/) — 3D圖和動畫
符號代數
能使用符號表達式也非常有幫助,正如Mathematica或Maple。
(http://www.sympy.org/en/index.html)實驗室提供了這一功能。
fromsympyimportSymbolx,y=Symbol('x'),Symbol('y')# Treat 'x' and 'y' as algebraic symbols
x+x+x+y
Out
3*x + y
我們也能使用表達式
expression=(x+y)**2
expression.expand()
Out
x**2 + 2*x*y + y**2
解多項式
fromsympyimport
solvesolve(x**2+x+2)
Out
sqrt(7)*I/2, -1/2 + sqrt(7)*I/2]
計算極限,導數和積分
fromsympyimportlimit,sin,diff
limit(1/x,x,0)
Out
oo limit(sin(x)/x,x,0)
Out
1
diff(sin(x),x)cos(x)
統計
Python的數據處理與統計實驗室在過去幾年迅速發展。
Pandas
處理數據最流行的實驗室就是Pandas
Pandas快速、有效、靈活,并設計精良
下面給出一個簡單例子
importpandasaspd
importscipyassp
data=sp.randn(5,2)# Create 5x2 matrix of random numbers for toy example
dates=pd.date_range('28/12/2010',periods=5)
df=pd.DataFrame(data,columns=('price','weight'),index=dates)
print(df)price weight2010-12-28 0.007255 1.1299982010-12-29 -0.120587 -1.3748462010-12-30 1.089384 0.6127852010-12-31 0.257478 0.1022972011-01-01 -0.350447 1.254644 df.mean()price 0.176616weight 0.344975
另一些有用的統計實驗室
— 不同的統計進程
— Python中的機器學習 (sponsored by Google, among others)
— 貝葉斯數據分析
基于的貝葉斯數據分析
網絡和圖
Python也要許多研究圖的實驗室
著名的之一就是(http://networkx.github.io/)
標準的圖形算法用于分析網絡結構,等
圖進程
等等
例如
它所產生的圖如下
云計算
在云端的大規模服務器中運行Python代碼將會變得越來越簡單
非常棒的例子就是(https://www.continuum.io/anaconda-enterprise-notebooks)
也可見
The (Python, Java, PHP or Go)
并行過程
離開云計算選項,你可能想要考慮一下
The interface to Amazon’s EC2
GPU programming through , , or similar
另外一些進展
Python的科學編程中有許多有趣的進展
一些代表性例子如下:
— Python in your browser with code cells, embedded images, etc.
— Make Python run at the same speed as native machine code!
— a generalization of NumPy
— manage large data sets
— convex optimization in Python
進一步閱讀
Browse some Python projects on
Have a look at people have shared on various scientific topics
Visit the
View some of the question people are asking about Python on
Keep up to date on what’s happening in the Python community with the 返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的经济学中的定量分析python_Sargent定量经济学(3):Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 口语
- 下一篇: 床位的摆放有五大禁忌