您好,登錄后才能下訂單哦!
小編給大家分享一下Python中數(shù)據(jù)處理庫(kù)Pandas是怎么誕生的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
01
Pandas1.0最近推出了。但是你知道它是如何誕生的嗎?
這個(gè)故事可以從很多地方開始,但讓我們從1954年開始。1954年有兩件事對(duì)Pandas的誕生非常重要。
02
1954年3月1日,美國(guó)在比基尼環(huán)礁試驗(yàn)了一枚高當(dāng)量熱核炸彈。氘化鋰(LiD)是燃料。天然鋰包括兩種不同的同位素——鋰6和鋰7。氘化鋰6被認(rèn)為是很好的氫彈燃料,而在假設(shè)氘化鋰7是完全惰性的情況下,其在反應(yīng)中被用作慢化物質(zhì)。事實(shí)證明,這個(gè)假設(shè)是極其錯(cuò)誤的——本來應(yīng)該緩和反應(yīng)的物質(zhì)最終變成了燃料。導(dǎo)致本來應(yīng)該是600萬噸級(jí)的爆炸結(jié)果變成了1500萬噸級(jí)的爆炸。
這次試驗(yàn)的后果在時(shí)間和空間上都是深遠(yuǎn)的。一艘日本漁船的船員遭受了嚴(yán)重的輻射中毒,馬紹爾群島的許多人遭受了放射性塵降物的長(zhǎng)期傷害。它讓人們了解了放射性塵降物到底是什么,也讓人們了解了身處核爆炸之外并不安全——核爆炸會(huì)影響數(shù)百英里外的人們。也許最引人注目、也與我們的故事最相關(guān)的是1963年《有限禁止核試驗(yàn)條約》(Limited Test Ban Treaty),該條約終止了在大氣層、水下和太空的核試驗(yàn)。布拉沃城堡清楚地說明了這些實(shí)驗(yàn)有多么危險(xiǎn),破壞有多么廣泛,而且基本上不可能保證不出現(xiàn)重大錯(cuò)誤。
當(dāng)然,這意味著要對(duì)模擬核爆炸的計(jì)算機(jī)技術(shù)進(jìn)行重大投資,而不是過于依賴試驗(yàn)。這項(xiàng)技術(shù)已經(jīng)處于起步階段,但模擬核武器的任務(wù)將推動(dòng)科學(xué)計(jì)算直到今天。這種對(duì)計(jì)算機(jī)和軟件的追求正是硅谷的根本來源。
03
“我的大部分工作都是因?yàn)閼卸?。我不喜歡寫程序,所以,當(dāng)我在IBM 701上編寫計(jì)算導(dǎo)彈軌跡的程序時(shí),我開始編寫一個(gè)程序系統(tǒng),使編寫程序更容易?!?約翰·巴克斯
對(duì)于任何一個(gè)Pandas的用戶來說,這種思維過程應(yīng)該是非常熟悉的——它本質(zhì)上是Pandas、R、SQL以及其他任何試圖讓你專注于數(shù)學(xué)和數(shù)據(jù)操作的聲明性編程的框架的動(dòng)力。Fortran(關(guān)于“公式轉(zhuǎn)換”的合成詞)是編寫科學(xué)程序的工具,與等價(jià)的Python代碼相比,它可能看起來冗長(zhǎng),但肯定比匯編更具表現(xiàn)力。你可以遵循這里的代碼,但不一定是一堆運(yùn)算碼的情況。它還具有仍然在使用的最古老的編程語(yǔ)言的特點(diǎn)。它是在1950年開發(fā)的,但它的第一個(gè)項(xiàng)目是在1954年運(yùn)行的。
Fortran不僅僅是科學(xué)計(jì)算的精神先驅(qū)。用于進(jìn)行矩陣操作的Fortran包,如BLAS和LAPACK,都在pandas的“引擎蓋下”。您計(jì)算機(jī)上的翻譯不一定是用Fortran編寫的(默認(rèn)是C語(yǔ)言)。但它是一個(gè)選項(xiàng),C的來源,如果你真的需要性能,它通常是你想要的。
值得注意的是,BLAS、LAPACK和大部分Fortran科學(xué)生態(tài)系統(tǒng)的其他部分仍然是軍工復(fù)合體的產(chǎn)品?;蛘撸辽偈悄切┛捎玫拈_源軟件。像能源部、DARPA和NSF(有國(guó)防授權(quán))這樣的組織提供資金和工作時(shí)間來保持這些軟件包的最新更新直到今天。這就是為什么它仍然被使用的部分原因。然而,F(xiàn)ortran語(yǔ)言只是我們故事的一半。pandas不僅僅是關(guān)于快速操作—它還與語(yǔ)法有關(guān)。
04
好了,F(xiàn)ortran是匯編的一個(gè)進(jìn)步,但它并不是NumPy或Pandas代碼的真正樣子。為此,我們需要具有良好的向量化語(yǔ)法的基于數(shù)組的語(yǔ)言。我要談?wù)摰氖茿PL,因?yàn)樗亲畈豢伤甲h的。我敢肯定韋斯·麥金尼說這是Pandas的靈感。
有一種說法是,有兩種編程語(yǔ)言,一種是“從計(jì)算機(jī)向上”開始的,另一種是“從數(shù)學(xué)向下”開始的。Fortran雖然相對(duì)友好,但它仍然會(huì)讓你考慮諸如預(yù)分配內(nèi)存之類的事情。APL來自一位名叫Kenneth E. Iverson的數(shù)學(xué)家,他提出了一種操作數(shù)組的符號(hào)。最終他們用Fortran編寫了一個(gè)實(shí)現(xiàn),它成為了一種真正的編程語(yǔ)言。
APL簡(jiǎn)潔、富有表現(xiàn)力,使矩陣運(yùn)算成為一等公民。當(dāng)然,你必須學(xué)會(huì)一堆奇怪的符號(hào),需要一個(gè)定制的鍵盤,必須內(nèi)化包含“副詞”概念的語(yǔ)法。但是,如果您所做的只是操作數(shù)據(jù),那就沒有那么糟糕了。它也更接近數(shù)學(xué)符號(hào),如果你有這方面的背景,這是很好的。
以上是“Python中數(shù)據(jù)處理庫(kù)Pandas是怎么誕生的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。