DataFrame操作方法有哪些

這篇文章主要介紹“DataFrame操作方法有哪些”,在日常操作中,相信很多人在DataFrame操作方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”DataFrame操作方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、蘭西網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城系統(tǒng)網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為蘭西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Pandas提供了各種各樣的DataFrame操作,但是其中許多操作很復雜,而且似乎不太平易近人。ame操作方法,它們涵蓋了數(shù)據(jù)科學家需要知道的幾乎所有操作功能。每種方法都將包括說明,可視化,代碼以及記住它的技巧。

Pivot

透視表將創(chuàng)建一個新的“透視表”,該透視表將數(shù)據(jù)中的現(xiàn)有列投影為新表的元素,包括索引,列和值。初始DataFrame中將成為索引的列,并且這些列顯示為唯一值,而這兩列的組合將顯示為值。這意味著Pivot無法處理重復的值。

DataFrame操作方法有哪些

旋轉(zhuǎn)名為df 的DataFrame的代碼 如下:

DataFrame操作方法有哪些

記住:Pivot——是在數(shù)據(jù)處理領(lǐng)域之外——圍繞某種對象的轉(zhuǎn)向。在體育運動中,人們可以繞著腳“旋轉(zhuǎn)”旋轉(zhuǎn):大熊貓的旋轉(zhuǎn)類似于。原始DataFrame的狀態(tài)圍繞DataFrame的中心元素旋轉(zhuǎn)到一個新元素。有些元素實際上是在旋轉(zhuǎn)或變換的(例如,列“ bar ”),因此很重要。

Melt

Melt可以被認為是“不可透視的”,因為它將基于矩陣的數(shù)據(jù)(具有二維)轉(zhuǎn)換為基于列表的數(shù)據(jù)(列表示值,行表示唯一的數(shù)據(jù)點),而樞軸則相反??紤]一個二維矩陣,其一維為“ B ”和“ C ”(列名),另一維為“ a”,“ b ”和“ c ”(行索引)。

我們選擇一個ID,一個維度和一個包含值的列/列。包含值的列將轉(zhuǎn)換為兩列:一列用于變量(值列的名稱),另一列用于值(變量中包含的數(shù)字)。

DataFrame操作方法有哪些

結(jié)果是ID列的值(a,b,c)和值列(B,C)及其對應(yīng)值的每種組合,以列表格式組織。

可以像在DataFrame df上一樣執(zhí)行Mels操作 :

DataFrame操作方法有哪些

記住:像蠟燭一樣融化(Melt)就是將凝固的復合物體變成幾個更小的單個元素(蠟滴)。融合二維DataFrame可以解壓縮其固化的結(jié)構(gòu)并將其片段記錄為列表中的各個條目。

Explode是一種擺脫數(shù)據(jù)列表的有用方法。當一列爆炸時,其中的所有列表將作為新行列在同一索引下(為防止發(fā)生這種情況, 此后只需調(diào)用 .reset_index()即可)。諸如字符串或數(shù)字之類的非列表項不受影響,空列表是NaN值(您可以使用.dropna()清除它們 )。

DataFrame操作方法有哪些

在DataFrame df中Explode列“ A ”  非常簡單:

DataFrame操作方法有哪些

要記住:Explode某物會釋放其所有內(nèi)部內(nèi)容-Explode列表會分隔其元素。

Stack

堆疊采用任意大小的DataFrame,并將列“堆疊”為現(xiàn)有索引的子索引。因此,所得的DataFrame僅具有一列和兩級索引。

DataFrame操作方法有哪些

堆疊名為df的表就像df.stack()一樣簡單 。

為了訪問狗的身高值,只需兩次調(diào)用基于索引的檢索,例如 df.loc ['dog']。loc ['height']。

要記住:從外觀上看,堆棧采用表的二維性并將列堆棧為多級索引。

Unstack

取消堆疊將獲取多索引DataFrame并對其進行堆疊,將指定級別的索引轉(zhuǎn)換為具有相應(yīng)值的新DataFrame的列。在表上調(diào)用堆棧后再調(diào)用堆棧不會更改該堆棧(原因是存在“ 0 ”)。

DataFrame操作方法有哪些

堆疊中的參數(shù)是其級別。在列表索引中,索引為-1將返回最后一個元素。這與水平相同。級別-1表示將取消堆疊最后一個索引級別(最右邊的一個)。作為另一個示例,當級別設(shè)置為0(第一個索引級別)時,其中的值將成為列,而隨后的索引級別(第二個索引級別)將成為轉(zhuǎn)換后的DataFrame的索引。

DataFrame操作方法有哪些

可以按照與堆疊相同的方式執(zhí)行堆疊,但是要使用level參數(shù):  df.unstack(level = -1)

Merge

合并兩個DataFrame是在共享的“鍵”之間按列(水平)組合它們。此鍵允許將表合并,即使它們的排序方式不一樣。完成的合并DataFrame 默認情況下會將后綴_x 和 _y添加 到value列。

DataFrame操作方法有哪些

為了合并兩個DataFrame  df1 和 df2 (其中 df1 包含 leftkey, 而 df2 包含 rightkey),請調(diào)用:

DataFrame操作方法有哪些

合并不是pandas的功能,而是附加到DataFrame。始終假定合并所在的DataFrame是“左表”,在函數(shù)中作為參數(shù)調(diào)用的DataFrame是“右表”,并帶有相應(yīng)的鍵。

默認情況下,合并功能執(zhí)行內(nèi)部聯(lián)接:如果每個DataFrame的鍵名均未列在另一個鍵中,則該鍵不包含在合并的DataFrame中。另一方面,如果一個鍵在同一DataFrame中列出兩次,則在合并表中將列出同一鍵的每個值組合。例如,如果 df1 具有3個鍵foo 值, 而 df2 具有2個相同鍵的值,則 在最終DataFrame中將有6個條目,其中 leftkey = foo 和 rightkey = foo。

DataFrame操作方法有哪些

記住:合并數(shù)據(jù)幀就像在水平行駛時合并車道一樣。想象一下,每一列都是高速公路上的一條車道。為了合并,它們必須水平合并。

Join

通常,聯(lián)接比合并更可取,因為它具有更簡潔的語法,并且在水平連接兩個DataFrame時具有更大的可能性。連接的語法如下:

DataFrame操作方法有哪些

使用聯(lián)接時,公共鍵列(類似于  合并中的right_on 和 left_on)必須命名為相同的名稱。how參數(shù)是一個字符串,它表示四種連接 方法之一, 可以合并兩個DataFrame:

  • left ':包括df1的所有元素, 僅當其鍵為df1的鍵時才 包含df2的元素 。否則,df2的合并DataFrame的丟失部分  將被標記為NaN。

  • right ':' left ',但在另一個DataFrame上。包括df2的所有元素,  僅當其鍵是df2的鍵時才 包含df1的元素 。

  • outer”:包括來自DataFrames所有元素,即使密鑰不存在于其他的-缺少的元素被標記為NaN的。

  • inner”:僅包含元件的鍵是存在于兩個數(shù)據(jù)幀鍵(交集)。默認合并。

記住:如果您使用過SQL,則單詞“ join”應(yīng)立即與按列添加相聯(lián)系。如果不是,則“ join”和“ merge”在定義方面具有非常相似的含義。

Concat

合并和連接是水平工作,串聯(lián)或簡稱為concat,而DataFrame是按行(垂直)連接的。例如,考慮使用pandas.concat([df1,df2])串聯(lián)的具有相同列名的 兩個DataFrame  df1 和 df2 

DataFrame操作方法有哪些

盡管可以通過將axis參數(shù)設(shè)置為1來使用concat進行列式聯(lián)接,但是使用聯(lián)接 會更容易。

請注意,concat是pandas函數(shù),而不是DataFrame之一。因此,它接受要連接的DataFrame列表。

如果一個DataFrame的另一列未包含,默認情況下將包含該列,缺失值列為NaN。為了防止這種情況,請?zhí)砑右粋€附加參數(shù)join ='inner',該參數(shù) 只會串聯(lián)兩個DataFrame共有的列。

DataFrame操作方法有哪些

切記:在列表和字符串中,可以串聯(lián)其他項。串聯(lián)是將附加元素附加到現(xiàn)有主體上,而不是添加新信息(就像逐列聯(lián)接一樣)。由于每個索引/行都是一個單獨的項目,因此串聯(lián)將其他項目添加到DataFrame中,這可以看作是行的列表。

Append是組合兩個DataFrame的另一種方法,但它執(zhí)行的功能與concat相同,效率較低且用途廣泛。

到此,關(guān)于“DataFrame操作方法有哪些”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

文章標題:DataFrame操作方法有哪些
網(wǎng)址分享:http://muchs.cn/article40/ieppeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站收錄

廣告

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

網(wǎng)站優(yōu)化排名