Python中Pandas庫(kù)有什么用

這篇文章主要介紹了Python中Pandas庫(kù)有什么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)公司、微信開發(fā)、微信小程序開發(fā)、集團(tuán)成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:格柵板等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致好評(píng)!

Pandas庫(kù)是Python中最流行的數(shù)據(jù)操作庫(kù)。受到R語言的frames啟發(fā),它提供了一種通過其data-frame API操作數(shù)據(jù)的簡(jiǎn)單方法。
0           1          
了解Pandas          

要很好地理解pandas,關(guān)鍵之一是要理解pandas是一系列其他python庫(kù)的包裝器。主要的有Numpy、SQL alchemy、Matplot lib和openpyxl。

data frame的核心內(nèi)部模型是一系列NumPy數(shù)組和pandas函數(shù)。

pandas利用其他庫(kù)來從data frame中獲取數(shù)據(jù)。例如,SQL alchemy通過read_sql和to_sql函數(shù)使用;openpyxl和xlsx writer用于read_excel和to_excel函數(shù)。而Matplotlib和Seaborn則用于提供一個(gè)簡(jiǎn)單的接口,使用諸如df.plot()這樣的命令來繪制data frame中可用的信息。

0           2          
Numpy的Pandas-高效的Pandas          

您經(jīng)常聽到的抱怨之一是Python很慢,或者難以處理大量數(shù)據(jù)。通常情況下,這是由于編寫的代碼的效率很低造成的。原生Python代碼確實(shí)比編譯后的代碼要慢。不過,像Pandas這樣的庫(kù)提供了一個(gè)用于編譯代碼的python接口,并且知道如何正確使用這個(gè)接口。

向量化操作

與底層庫(kù)Numpy一樣,pandas執(zhí)行向量化操作的效率比執(zhí)行循環(huán)更高。這些效率是由于向量化操作是通過C編譯代碼執(zhí)行的,而不是通過本機(jī)python代碼執(zhí)行的。另一個(gè)因素是向量化操作的能力,它可以對(duì)整個(gè)數(shù)據(jù)集進(jìn)行操作,而不只是對(duì)一個(gè)子數(shù)據(jù)集進(jìn)行操作。

應(yīng)用接口允許通過使用CPython接口進(jìn)行循環(huán)來獲得一些效率:

df.apply(lambda x: x['col_a'] * x['col_b'], axis=1)
     

但是,大部分性能收益可以通過使用向量化操作本身獲得,可以直接在pandas中使用,也可以直接調(diào)用它的內(nèi)部Numpy數(shù)組。

03
通過DTYPES高效地存儲(chǔ)數(shù)據(jù)          

當(dāng)通過read_csv、read_excel或其他數(shù)據(jù)幀讀取函數(shù)將數(shù)據(jù)幀加載到內(nèi)存中時(shí),pandas會(huì)進(jìn)行類型推斷,這可能是低效的。這些api允許您明確地利用dtypes指定每個(gè)列的類型。指定dtypes允許在內(nèi)存中更有效地存儲(chǔ)數(shù)據(jù)。

df.astype({'testColumn': str, 'testCountCol': float})
     

Dtypes是來自Numpy的本機(jī)對(duì)象,它允許您定義用于存儲(chǔ)特定信息的確切類型和位數(shù)。

例如,Numpy的類型np.dtype(' int32 ')表示一個(gè)32位長(zhǎng)的整數(shù)。pandas默認(rèn)為64位整數(shù),我們可以節(jié)省一半的空間使用32位:

Python中Pandas庫(kù)有什么用

04
處理帶有塊的大型數(shù)據(jù)集          

pandas允許按塊(chunk)加載數(shù)據(jù)幀中的數(shù)據(jù)。因此,可以將數(shù)據(jù)幀作為迭代器處理,并且能夠處理大于可用內(nèi)存的數(shù)據(jù)幀。

Python中Pandas庫(kù)有什么用

在讀取數(shù)據(jù)源時(shí)定義塊大小和get_chunk方法的組合允許panda以迭代器的方式處理數(shù)據(jù),如上面的示例所示,其中數(shù)據(jù)幀一次讀取兩行。然后我們可以遍歷這些塊:

i = 0for a in df_iter:  # do some processing  chunk = df_iter.get_chunk()  i += 1  new_chunk = chunk.apply(lambda x: do_something(x), axis=1)  new_chunk.to_csv("chunk_output_%i.csv" % i )

它的輸出可以被提供到一個(gè)CSV文件,pickle,導(dǎo)出到數(shù)據(jù)庫(kù),等等…

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中Pandas庫(kù)有什么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

文章題目:Python中Pandas庫(kù)有什么用
本文地址:http://muchs.cn/article0/ghseoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、靜態(tài)網(wǎng)站、外貿(mào)建站、做網(wǎng)站、小程序開發(fā)響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)