Pandas之?dāng)?shù)據(jù)追加df.append方式
Pandas 數(shù)據(jù)追加df.append
df.append()可以將其他DataFrame附加到調(diào)用方的末尾,并返回一個新對象
它是最簡單、最常用的數(shù)據(jù)合并方式
語法
df.append(other, ignore_index=False, verify_integrity=False, sort=False)
參數(shù)
other:調(diào)用方要追加的其他DataFrame或者類似序列內(nèi)容。可以放入一個由DataFrame組成的列表,將所有DataFrame追加起來ignore_index:如果為True,則重新進行自然索引verify_integrity:如果為True,則遇到重復(fù)索引內(nèi)容時報錯sort:進行排序
1.相同結(jié)構(gòu)
如果數(shù)據(jù)的字段相同,直接使用第一個DataFrame的append()方法,傳入第二個DataFrame。
如果需要追加多個DataFrame,可以將它們組成一個列表再傳入
import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
res1 = df1.append(df2)
# 追加多個數(shù)據(jù)
res2 = df1.append([df2,df2,df2])結(jié)果展示
df1

df2

res1

res2

2.不同結(jié)構(gòu)
對于不同結(jié)構(gòu)的追加,一方有而另一方?jīng)]有的列會增加,沒有內(nèi)容的位置用NaN填充
import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df3 = pd.DataFrame({'y':[5,6],'z':[7,8]})
# 追加合并
res = df1.append(df3)結(jié)果展示
df1

df3

res

3.忽略索引
追加操作索引默認(rèn)為原數(shù)據(jù)的,不會改變,如果需要忽略,可以傳入ignore_index = True
import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
# 忽略索引
res = df1.append(df2, ignore_index=True)結(jié)果展示
df1

df2

res

4.重復(fù)內(nèi)容
重復(fù)內(nèi)容默認(rèn)是可以追加的,如果傳入verify_integrity = True參數(shù)和值,則會檢測追加內(nèi)容是否重復(fù),如有重復(fù)會報錯
import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
# 合并兩個相同的內(nèi)容(報錯)
df1.append([df2,df2], verify_integrity=True)結(jié)果展示
df1

df2

5.追加序列
append()除了追加DataFrame外,還可以追加一個Series,經(jīng)常用于數(shù)據(jù)添加更新場景
import pandas as pd
df = pd.DataFrame([['liver','E',89,21,24,64],
['Arry','C',36,37,37,57],
['Ack','A',57,60,18,84],
['Eorge','C',93,96,71,78],
['Oah','D',65,49,61,86]
],
columns = ['name','team','Q1','Q2','Q3','Q4'])
# 定義新同學(xué)的信息
lily = pd.Series(['lily','C',55,56,57,58],
index=['name','team','Q1','Q2','Q3','Q4'])
# 追加
df = df.append(lily, ignore_index=True)結(jié)果展示
原df

lily

新df

6.追加字典
append()還可以追加字典
import pandas as pd
df = pd.DataFrame([['liver','E',89,21,24,64],
['Arry','C',36,37,37,57],
['Ack','A',57,60,18,84],
['Eorge','C',93,96,71,78],
['Oah','D',65,49,61,86]
],
columns = ['name','team','Q1','Q2','Q3','Q4'])
# 將學(xué)生信息定義為一個字典
lily = {'name':'lily','team':'C','Q1':55,'Q2':56,'Q3':57,'Q4':58}
df = df.append(lily, ignore_index=True)結(jié)果展示
原df

lily

新df

擴展練習(xí)案例
import pandas as pd df_list = [] df1 = pd.DataFrame([['A',1]],columns = ['Site','number']) df_list.append(df1) df2 = pd.DataFrame([['B',2]],columns = ['Site','number']) df_list.append(df2) df_all = pd.concat([df1,df2]) df3 = pd.DataFrame([['C',3]],columns = ['Site','number']) df_list.append(df3) df_all = pd.concat(df_list) df_all = df_all.reset_index(drop=True)
df1

df2

df3

df_all

df_list

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫
在實際應(yīng)用中,我們可能需要將Excel表格中的數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫中,以便于進行進一步的數(shù)據(jù)分析和處理,本文將介紹如何使用Python將Excel表格中的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中,需要的朋友可以參考下2023-10-10
Python修改pip install指定安裝包的路徑和默認(rèn)鏡像源的操作指南
這篇文章主要介紹了如何修改Python的pip安裝路徑和默認(rèn)鏡像源,文章首先介紹了如何通過修改pip.ini文件、設(shè)置環(huán)境變量、修改site.py文件等方式來更改pip的安裝位置,需要的朋友可以參考下2025-12-12
Python實現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法
這篇文章主要介紹了Python實現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法,結(jié)合實例形式分析了Python針對Torrent文件的讀取與解析相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-08-08

