程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Pandas知識點-添加操作append

編輯:Python

在Pandas中,append()方法用於將一個或多個DataFrame或Series添加到DataFrame中。append()方法也可以用於合並操作,本文介紹append()方法的用法。

append()實現合並


append(other): 將一個或多個DataFrame添加到調用append()的DataFrame中,實現合並的功能,other參數傳入被合並的DataFrame,如果需要添加多個DataFrame,則用列表或元組的方式傳入。

append()方法通過添加的方式實現了合並的功能,這種合並功能是按行(縱向)進行合並的,合並結果的行數是所有DataFrame的行數之和。

填充不存在的列


如果調用append()的DataFrame和傳入append()的DataFrame中有不同的列,則添加後會在不存在的列填充空值,這樣即使兩個DataFrame有不同的列也不影響添加操作。

添加多個DataFrame


添加多個DataFrame時,用列表或元組的方式傳入多個DataFrame即可,添加的原理不變。如果需要,可以將批量的DataFrame合並成一個DataFrame。

重設行索引


ignore_index: ignore_index參數默認為False,結果的行索引保持原DataFrame中的行索引,即使存在相同的行索引也不受影響。將ignore_index修改為True,則結果的行索引被重設為從0開始的整數索引。

verify_integrity: verify_integrity參數默認為False,添加的DataFrame中有相同的行索引時,可以保留原結果。將verify_integrity修改為True,如果添加的DataFrame中有相同的行索引,會拋出ValueError。設置verify_integrity參數為True,是為了避免結果中的行索引重復,但很可能會導致添加失敗,所以需要先觀察原始數據是否適合。

ignore_index和verify_integrity同時使用時,ignore_index先生效,所以兩個參數同時使用時,不會拋出異常。

添加Series


append()方法也可以在DataFrame中添加Series。添加Series時,要將ignore_index參數設置為True或給Series設置name參數,否則會拋出TypeError,原因是Series沒有列名。

設置ignore_index參數為True會重設結果的行索引,這樣添加的Series作為結果中的一行,會自動生成行索引。

指定Series的name參數,這樣Series將以name參數作為行索引添加到DataFrame中。即使指定的name值與DataFrame中的行索引重復,也可以添加成功(verify_integrity不為True)。

總結

截止到本文,本系列介紹了可以用於合並操作的五種方法:concat()、merge()、join()、combine()、append(),總結一下它們的用法差異。

concat(): 連接操作,可以連接多個DataFrame,可以設置按行合並還是按列合並。有inner、outer、left、right四種不同的連接方式。可以對結果的索引進行設置,尤其是對多重行索引的處理提供了多種方式。

merge(): 合並操作,只能用於合並兩個DataFrame,且都是按列進行合並,只有當兩個DataFrame的列名完全一樣時才是按行合並的效果。合並時根據指定的連接列(或行索引)和連接方式來匹配兩個DataFrame的行。可以在結果中設置相同列名的後綴和顯示連接列是否在兩個DataFrame中都存在。

join(): 加入操作,可以在一個DataFrame中加入多個DataFrame,結果都是按列進行合並的。合並時根據指定的連接列(或行索引)和連接方式來匹配兩個DataFrame的行,也可以設置相同列名的後綴,所以有時候join()和merge()可以相互轉換。

combine(): 聯合操作,用於兩個DataFrame,按列的方式進行聯合。聯合操作是將一個DataFrame中的部分數據用另一個DataFrame中的數據替換或補充,通過一個函數來定義聯合時取數據的規則。在聯合過程中還可以對空值進行填充。

append(): 添加操作,可以將多個DataFrame添加到一個DataFrame中,按行的方式進行添加。添加操作只是將多個DataFrame按行拼接到一起,可以重設行索引。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved