日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

如果您想使用甚至掌握數(shù)據(jù)分析技能的話,Python/ target=_blank class=infotextkey>Python一定是您的最佳選擇。它不但容易被學習,而且具有廣泛且活躍的社區(qū)支持。目前,大多數(shù)數(shù)據(jù)科學庫、以及機器學習框架,都能夠提供Python接口。

在過去的數(shù)月中,不少用于數(shù)據(jù)科學的Python項目,都相繼發(fā)布了針對主要功能的更新版本。它們有些是關乎實際數(shù)字運算;有些則是讓開發(fā)者能夠更輕松、更快速地編寫出針對數(shù)據(jù)科學的任務代碼。下面,讓我們來討論其中最為典型的6種Python工具。

1.SciPy1.7

由于NumPy能夠為Python用戶提供快速而強大的數(shù)學庫,因此SciPy使用NumPy來為常見的、面向數(shù)學和數(shù)據(jù)科學的編程任務提供各種代碼庫。其中包括:線性代數(shù)、統(tǒng)計工程、以及信號處理等方面。

SciPy如何協(xié)助數(shù)據(jù)科學

作為便捷且被廣泛使用的數(shù)學和統(tǒng)計工具,SciPy長期以來停留在1.0版本上。當然,該版本具有很強的跨版本向后兼容性。

根據(jù)其核心開發(fā)人員--Ralf Gommers的說法,SciPy項目的1.0版不但整合了項目的治理和管理方式,而且包含了一個與macOS和windows的不同的持續(xù)集成過程,以及對預構(gòu)建的Windows二進制文件的適當支持。這就意味著,Windows用戶可以直接使用SciPy,而無需考慮額外的環(huán)節(jié)。

自2017年發(fā)布1.0版本以來,該項目已經(jīng)交付了七個主要版本,它們持續(xù)在如下方面進行改進與優(yōu)化:

  • 放棄了對于Python 2.7的支持,跟進了對應的代碼庫。
  • 不斷改進和更新SciPy的子模塊,使之具有更多的功能、更好的文檔、以及更多的新算法。例如,新的快速傅立葉變換模塊(fast Fourier transform module,)具有更好性能、以及更友好的界面。
  • 更好地支持LAPACK(Linear Algebra PACKage,線性代數(shù)包,是一個用于解決常見線性方程問題的Fortran包。請參見--http://performance.NETlib.org/lapack/)中的各個函數(shù)。
  • 能夠更好地兼容替代Python運行時的PyPy(包括了一個可用于更快地長期運行代碼的JI編譯器,請參見--https://www.infoworld.com/article/3385127/what-is-pypy-faster-python-without-pain.html)。

從哪里下載SciPy

我們既可以從GitHub的鏈接處獲得源代碼,又可以從Python Package Index的鏈接處,下載SciPy的二進制文件,然后在命令行中輸入“pip install sciPy”以完成安裝。

2.Numba 0.53.0

Numba允許通過LLVM(Low Level Virtual Machine,低級虛擬機)編譯器框架,將Python函數(shù)或模塊編譯為匯編語言,以便隨時運行Python程序。在此方面,Numba與Cython(不但可以被Python調(diào)用,而且能夠讓被加速的代碼更易于分發(fā)給第三方,下文會詳細討論)極其相似。當然,Numba會更易于使用。

Numba如何協(xié)助數(shù)據(jù)科學

Numba幫助數(shù)據(jù)科學家的方式主要體現(xiàn)在,它加速了編寫Python的各項操作。也就是說,您可以使用純Python,對項目進行原型設計,然后使用Numba對其進行注釋,以便快速地投入生產(chǎn)環(huán)境。

同時,Numba也可以快速地運行在那些為機器學習和數(shù)據(jù)科學應用所構(gòu)建的硬件上。Numba的早期版本曾可以支持編譯出CUDA(Compute Unified Device Architecture)加速代碼。不過其最新版本則采用了新的、更為高效的GPU代碼縮減算法。它不但能夠加快編譯速度,還支持Nvidia CUDA和AMD ROCm的API。

此外,Numba還可以通過優(yōu)化JIT編譯函數(shù),以實現(xiàn)跨CPU內(nèi)核的并行執(zhí)行。當然,您的代碼需要添加一些額外的語法,才能正確地完成。

從哪里下載Numba

我們既可以從GitHub的鏈接處獲得源代碼,又可以在Python Package Index的鏈接處下載Numba,然后在命令行中輸入“pip install numba”以完成安裝。其預構(gòu)建的二進制文件可以支持Windows、MacOS、以及通用的linux。此外,它還被當作了Anaconda Python發(fā)行版的一部分。用戶可以在命令行中輸入“conda install numba”以完成安裝。

3.Cython3.0(beta版)

Cython是將Python代碼轉(zhuǎn)換為可以更快地運行、大數(shù)量級的C語言代碼。這種轉(zhuǎn)換對于重數(shù)學量(math-heavy)的代碼、或是在各種緊密循環(huán)中運行的代碼,都非常方便。值得一提的是,這兩種情況在為工程、科學、以及機器學習編寫的Python程序中,也是十分常見的。

Cython如何協(xié)助數(shù)據(jù)科學

從本質(zhì)上說,Cython代碼實際上是帶有一些額外語法的Python代碼。這些Python代碼不但可以被Cython編譯成C語言,而且能夠通過使用Cython的類型注釋,讓其性能得到了幾十倍、甚至幾百倍的改進。

在Cython 3出現(xiàn)之前,Cython使用的是0.xx的版本編號方案。不過,Cython 3不再支持Python 2的語法了。盡管Cython 3目前仍處于測試階段,但是已有Cython的擁護者強烈建議人們使用該版本,去代替其早期的版本。同時,鑒于Cython的許多(盡管不是全部)函數(shù)都可以使用與Python完全兼容的語法,因此Cython 3強烈建議用戶更多地去使用“純Python”模式。

同時,Cython還支持與IPython和Jupyter notebooks的集成。由Cython編譯的代碼,可以通過內(nèi)聯(lián)注釋的方式,在Jupyter notebooks中被使用,就像使用Python代碼一樣。

此外,您還可以在啟用了配置文件引導優(yōu)化(profile-guided optimization)的情況下,為Jupyter編譯Cython模塊。使用該方式構(gòu)建的模塊,可以根據(jù)其生成的分析信息,進行各種快速的編譯和優(yōu)化。值得注意的是,該方式僅能夠在與GCC編譯器共同使用時,被Cython所使用。而微軟的VC環(huán)境尚對此并不支持。

從哪里下載Cython

我們既可以從GitHub的鏈接處獲得源代碼,又可以在Python Package Index的鏈接處下載Cython,然后在命令行中輸入“pip install cython”以完成安裝。其二進制文件可以支持包括32位和64位的Windows、通用的Linux、以及MacOS。值得注意的是,您的系統(tǒng)平臺上必須已安裝了C預言編譯器,方可使用Cython。

4.Dask 2021.07.0

近年來,我們的硬件處理能力雖然比以往任何時候都強大,可關鍵問題是,我們將如何通過橫跨多個CPU內(nèi)核、物理處理器、以及計算節(jié)點的方式,以最高效率完成數(shù)據(jù)科學的相關計算任務。

對此,Dask工具能夠接受一項Python作業(yè),并在多個系統(tǒng)之間有效地予以調(diào)度。由于那些被用于啟動Dask作業(yè)的語法、與在Python中用于執(zhí)行其他各項操作的語法幾乎相同,因此我們在使用Dask時,幾乎無需對現(xiàn)有的代碼進行任何修改。

Dask如何協(xié)助數(shù)據(jù)科學

Dask能夠為Python中許多流行的機器學習、以及科學計算庫,提供了各種自有版本的接口。例如,它的DataFrame對象能夠與Pandas庫中的相同,它的Array對象則可以與NumPy的相一致。可見,您只需針對Dask修改幾行代碼,即可來快速兼容現(xiàn)有的代碼。

同時,Dask不但允許并行地寫入純Python的作業(yè),而且其Bag等對象類型,也能夠優(yōu)化諸如:map、filter、以及groupby等通用Python對象集合的操作。

從哪里下載Dask

我們既可以從GitHub的鏈接處獲得源代碼,又可以在Python Package Index的鏈接處下載Cython,然后在命令行中輸入“pip install dask”以完成安裝。此外,作為Anaconda Python發(fā)行版的一部分,用戶還可以在其命令行中輸入“conda install dask”,以完成安裝。

5.Vaex 4.30

根據(jù)NumPy或Pandas的數(shù)據(jù)幀格式,Vaex允許用戶對大型表格的數(shù)據(jù)集(例如有數(shù)十億行的數(shù)據(jù)量),通過執(zhí)行l(wèi)azy操作,以零數(shù)據(jù)復制、最少的內(nèi)存使用量、以及內(nèi)置的可視化工具等方式,高效地完成各項操作。

Vaex如何協(xié)助數(shù)據(jù)科學

在Python中,處理大型數(shù)據(jù)集,特別是只涉及數(shù)據(jù)的某個子集(例如,表中的一列)時,通常會耗費大量的內(nèi)存、以及處理能力。而Vaex則能夠根據(jù)實際需要,以按需的方式執(zhí)行計算,從而充分地利用好有限的可用計算資源。

從哪里下載Vaex

我們可以在Python Package Index的鏈接處下載Cython,然后在命令行中輸入“pip install vaex”以完成安裝。值得注意的是,為了獲得最佳的效果,您既可以在虛擬環(huán)境中安裝Vaex,又可以直接使用Python的Anaconda發(fā)行版。

6.Intel SDC

作為高性能分析工具包,Intel的可擴展數(shù)據(jù)幀編譯器(Scalable Dataframe Compiler,SDC)是一個針對數(shù)據(jù)分析、以及加速集群機器學習的實驗項目。它使用Open MPI項目中的mpirun的實用程序,將Python的子集編譯為代碼。這些代碼可以在集群之間自動實現(xiàn)并行化。

Intel SDC如何協(xié)助數(shù)據(jù)科學

作為一個使用Python編寫的、基于編譯器的大數(shù)據(jù)框架, HPAT用到了前面提到的Numba。不過與Cython不同的是,它并不會按照原樣去編譯Python。相反,它用到了Python語言的受限子集:NumPy數(shù)組和Pandas數(shù)據(jù)幀,并通過對其優(yōu)化,以實現(xiàn)橫跨多個節(jié)點的運行。

與Numba類似,HPAT自帶有@jit裝飾器(decorator),可以將特定功能轉(zhuǎn)化到優(yōu)化的代碼中。此外,它還包含了一個可用于讀取和寫入HDF5(并非HDFS)文件的本地 I/O模塊。

從哪里下載Intel SDC

我們可以從GitHub的鏈接處獲得源代碼。不過SDC并未提供對應的二進制文件。

分享到:
標簽:工具 Python
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定