成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

盤點七個重要的Python庫

開發 后端
對于那些對Python數據生態系統不太熟悉的人士,我將簡要地介紹一部分重要的庫。

 

01 NumPy

http://numpy.org

NumPy是Numerical Python的簡寫,是Python數值計算的基石。它提供多種數據結構、算法以及大部分涉及Python數值計算所需的接口。NumPy還包括其他內容:

  •  快速、高效的多維數組對象ndarray
  •  基于元素的數組計算或數組間數學操作函數
  •  用于讀寫硬盤中基于數組的數據集的工具
  •  線性代數操作、傅里葉變換以及隨機數生成

成熟的C語言API,允許Python拓展和本地的C或C++代碼訪問NumPy的數據結構和計算設施。

除了NumPy賦予Python的快速數組處理能力之外,NumPy的另一個主要用途是在算法和庫之間作為數據傳遞的數據容器。對于數值數據,NumPy數組能夠比Python內建數據結構更為高效地存儲和操作數據。

此外,用底層語言編寫的庫,例如用C或Fortran編寫的庫,可以在NumPy數組存儲的數據上直接操作,而無須將數據復制到其他內存中后再操作。因此,許多Python的數值計算工具將NumPy數組作為基礎數據結構,或與NumPy進行無縫互操作。

02 pandas

http://pandas.pydata.org

pandas提供了高級數據結構和函數,這些數據結構和函數的設計使得利用結構化、表格化數據的工作快速、簡單、有表現力。它出現于2010年,幫助Python成為強大、高效的數據分析環境。常用的pandas對象是DataFrame,它是用于實現表格化、面向列、使用行列標簽的數據結構;以及Series,一種一維標簽數組對象。

pandas將表格和關系型數據庫(例如SQL)的靈活數據操作能力與NumPy的高性能數組計算的理念相結合。它提供復雜的索引函數,使得數據的重組、切塊、切片、聚合、子集選擇更為簡單。由于數據操作、預處理、清洗在數據分析中是重要的技能,pandas將是重要主題。

介紹一點背景知識,早在2008年,我在一家量化投資企業——AQR資本管理公司供職時,便開始了pandas的開發。那時候,我有一些獨特的需求是工具清單上任何單個工具無法滿足的:

  • 帶有標簽軸,支持自動化或顯式數據對齊功能的數據結構——這可以防止未對齊數據和不同數據源的不同索引數據所引起的常見錯誤
  •  集成時間序列函數功能
  •  能夠同時處理時間序列數據和非時間序列數據的統一數據結構
  •  可以保存元數據的算術操作和簡化
  •  靈活處理缺失數據
  •  流行數據庫(例如基于SQL的數據庫)中的合并等關系型操作

我想將以上的工作在同一個地方完成,最好還能在一個擁有通用軟件開發能力的語言中實現。Python就是一個很好的備選項,但是那時候并沒有這類數據結構的整合集,也沒有能提供相關功能的工具。結果就是pandas最初被開發出來用于解決金融和商業分析問題,pandas尤其擅長深度時間序列和處理商業進程中產生的時間索引數據。

使用R語言進行統計計算的用戶對DataFrame的名稱會非常熟悉,因為這個對象是根據相似的R data.frame對象進行命名的。與Python不同的是,數據框在R語言中是標準庫中的內容。因此,pandas中的很多特征通常與R核心的實現或者R的附加庫提供的功能一致。

pandas的名字的來源是panel data,這是計量經濟學中針對多維結構化數據集的術語。pandas也是Python data analysis(Python數據分析)自身的簡寫短語。

03 matplotlib

http://matplotlib.org

matplotlib是最流行的用于制圖及其他二維數據可視化的Python庫。它由John D. Hunter創建,目前由一個大型開發者團隊維護。matplotlib被設計為適合出版的制圖工具。

對于Python編程者來說也有其他可視化庫,但matplotlib依然使用最為廣泛,并且與生態系統的其他庫良好整合。我認為將它作為默認可視化工具是一個安全的選擇。

關于matplotlib更詳細講解,請戳:純干貨:手把手教你用Python做數據可視化(附代碼)

04 IPython與Jupyter

http://ipython.org

http://jupyter.org

IPython項目開始于2001年,由Fernando Pérez發起,旨在開發一個更具交互性的Python解釋器。在過去的16年中,它成為Python數據技術棧中最重要的工具之一。

盡管它本身并不提供任何計算或數據分析工具,它的設計側重于在交互計算和軟件開發兩方面將生產力最大化。它使用了一種執行-探索工作流來替代其他語言中典型的編輯-編譯-運行工作流。它還提供針對操作系統命令行和文件系統的易用接口。由于數據分析編碼工作包含大量的探索、試驗、試錯和遍歷,IPython可以使你更快速地完成工作。

2014年,Fernando和IPython團隊發布了Jupyter項目。Jupyter項目旨在設計一個適用于更多語言的交互式計算工具。IPython web notebook 則成為Jupyter notebook,可以支持超過40種編程語言。IPython系統目前可以作為一個內核(一種編程語言模式)用于在 Jupyter 中使用Python。

IPython自身已成為 Jupyter開源項目中的一個組件,后者提供交互性、探索性的高效環境。IPtyhon最古老、最簡單的“模式”就是一個加強版的Python命令行,用于提高編寫、測試、調試Python代碼的速度。

你也可以通過基于Web、支持多語言的代碼“筆記本”——Jupyter Notebook來使用IPython系統。IPython命令行和 Jupyter notebook對于數據探索和可視化非常有用。

Jupyter notebook系統允許你使用Markdown和HTML創建包含代碼和文本的富文檔。其他編程語言也針對Jupyter實現了內核,允許你在Jupyter中使用多種語言而不僅僅是Python。

對我個人來說,IPython涉及我工作的大部分內容,包括運行、調試、測試代碼。

05 SciPy

http://scipy.org

SciPy是科學計算領域針對不同標準問題域的包集合。以下是SciPy中包含的一些包:

  •  scipy.integrate

           數值積分例程和微分方程求解器

  •  scipy.linalg

          線性代數例程和基于numpy.linalg的矩陣分解

  •  scipy.optimize

          函數優化器(最小化器)和求根算法

  •  scipy.signal

          信號處理工具

  •  scipy.sparse

           稀疏矩陣與稀疏線性系統求解器

  •  scipy.special

           SPECFUN的包裝器。SPECFUN是Fortran語言下實現通用數據函數的包,例如gamma函數。

  •  scipy.stats

          標準的連續和離散概率分布(密度函數、采樣器、連續分布函數)、各類統計測試、各類描述性統計。

SciPy與NumPy一起為很多傳統科學計算應用提供了一個合理、完整、成熟的計算基礎。

06 scikit-learn

http://scikit-learn.org

scikit-learn項目誕生于2010年,目前已成為Python編程者首選的機器學習工具包。僅僅七年,scikit-learn就擁有了全世界1 500位代碼貢獻者。其中包含以下子模塊。

  •  分類:SVM、最近鄰、隨機森林、邏輯回歸等
  •  回歸:Lasso、嶺回歸等
  •  聚類:k-means、譜聚類等
  •  降維:PCA、特征選擇、矩陣分解等
  •  模型選擇:網格搜索、交叉驗證、指標矩陣
  •  預處理:特征提取、正態化

scikit-learn與pandas、statsmodels、IPython一起使Python成了高效的數據科學編程語言。

07 statsmodels

http://statsmodels.org

statsmodels是一個統計分析包。它源自斯坦福大學統計學教授Jonathan Taylor 利用R語言實現的各類分析模型。Skipper Seabold 和 Josef Perktold早在2010年便創建了新的statsmodels項目。自那之后該項目迅速成長,擁有大量活躍用戶和貢獻者者。

Nathaniel Smith 開發了Patsy項目,為R語言公式系統所驅動的statsmodels包提供公式、模型規范框架。

與scikit-learn相比,statsmodels包含經典的(高頻詞匯)統計學、經濟學算法。它所包含的模型如下。

  •  回歸模型:線性回歸、通用線性模型、魯棒線性模型、線性混合效應模型等
  •  方差分析(ANOVA )
  •  時間序列分析:AR、ARMA、ARIMA、VAR等模型
  •  非參數方法:核密度估計、核回歸
  •  統計模型結果可視化

statsmodels更專注于統計推理,提供不確定性評價和p值參數。相反,scikit-learn更專注于預測。

關于作者:韋斯·麥金尼(Wes McKinney)是流行的Python開源數據分析庫pandas的創始人。他是一名活躍的演講者,也是Python數據社區和Apache軟件基金會的Python/C++開源開發者。目前他在紐約從事軟件架構師工作。

本文摘編自《利用Python進行數據分析》(原書第2版),經出版方授權發布。 

 

責任編輯:龐桂玉 來源: 大數據DT
相關推薦

2023-11-06 18:06:00

Docker容器

2021-01-28 23:35:37

Python開發數據

2014-03-18 16:12:00

代碼整潔編寫代碼

2021-11-22 14:53:03

IT管理IT指標IT領導者

2022-05-19 15:51:35

開源筆記

2023-10-08 09:52:55

2023-06-04 17:13:26

.NET開發應用程序

2015-12-08 10:49:59

2022-10-08 23:46:47

JavaScript對象開發

2022-12-27 15:09:30

2023-11-27 16:51:28

PythonPython庫

2011-06-06 13:24:33

復印機技巧

2010-06-17 14:14:21

2024-08-30 14:29:03

2024-11-06 16:45:39

Python游戲開發代碼

2017-11-17 05:49:48

工業物聯網測試平臺

2021-04-27 22:32:18

Python

2017-04-13 10:58:32

Python開發者

2015-06-11 13:34:54

編程編程階段

2021-11-17 15:28:06

LinuxLinux命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久婷婷香蕉热狠狠综合 | 国内av在线 | 久久99精品国产 | 日本高清视频在线播放 | 在线不卡视频 | 中文字幕高清免费日韩视频在线 | 国产精品一区二区无线 | 亚洲区在线 | 一区二区在线免费观看视频 | 男女视频在线看 | 欧美自拍另类 | 91久久综合亚洲鲁鲁五月天 | 国产精品日韩高清伦字幕搜索 | 2022精品国偷自产免费观看 | 亚洲一区二区视频 | av片在线播放 | 婷婷久久综合 | 亚洲精品欧洲 | 一区二区在线不卡 | 日本黄色的视频 | 激情av网站 | 午夜成人免费视频 | 国产精品自拍一区 | 国产成人高清在线观看 | 亚洲一区在线日韩在线深爱 | 日韩一区二区视频 | 久久久久久久网 | 高清色| 激情五月综合 | av影音资源| 91免费入口| a精品视频| 麻豆av片| 国产黄色一级片 | 国产精品亚洲一区二区三区在线 | 成人国产综合 | 精品视频在线免费观看 | 人人澡人人爱 | 亚洲精品久久久久久久不卡四虎 | 欧美日韩高清免费 | 免费在线观看成人 |