Pandas之?dāng)?shù)據(jù)追加df.append方式
Pandas 數(shù)據(jù)追加df.append
df.append()可以將其他DataFrame附加到調(diào)用方的末尾,并返回一個(gè)新對(duì)象
它是最簡(jiǎn)單、最常用的數(shù)據(jù)合并方式
語(yǔ)法
df.append(other, ignore_index=False, verify_integrity=False, sort=False)
參數(shù)
other
:調(diào)用方要追加的其他DataFrame或者類(lèi)似序列內(nèi)容??梢苑湃胍粋€(gè)由DataFrame組成的列表,將所有DataFrame追加起來(lái)ignore_index
:如果為T(mén)rue,則重新進(jìn)行自然索引verify_integrity
:如果為T(mén)rue,則遇到重復(fù)索引內(nèi)容時(shí)報(bào)錯(cuò)sort
:進(jìn)行排序
1.相同結(jié)構(gòu)
如果數(shù)據(jù)的字段相同,直接使用第一個(gè)DataFrame的append()方法,傳入第二個(gè)DataFrame。
如果需要追加多個(gè)DataFrame,可以將它們組成一個(gè)列表再傳入
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) # 追加多個(gè)數(shù)據(jù) res2 = df1.append([df2,df2,df2])
結(jié)果展示
df1
df2
res1
res2
2.不同結(jié)構(gòu)
對(duì)于不同結(jié)構(gòu)的追加,一方有而另一方?jīng)]有的列會(huì)增加,沒(méi)有內(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ù)的,不會(huì)改變,如果需要忽略,可以傳入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ù)和值,則會(huì)檢測(cè)追加內(nèi)容是否重復(fù),如有重復(fù)會(huì)報(bào)錯(cuò)
import pandas as pd df1 = pd.DataFrame({'x':[1,2],'y':[3,4]}) df2 = pd.DataFrame({'x':[5,6],'y':[7,8]}) # 合并兩個(gè)相同的內(nèi)容(報(bào)錯(cuò)) df1.append([df2,df2], verify_integrity=True)
結(jié)果展示
df1
df2
5.追加序列
append()除了追加DataFrame外,還可以追加一個(gè)Series,經(jīng)常用于數(shù)據(jù)添加更新場(chǎng)景
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é)生信息定義為一個(gè)字典 lily = {'name':'lily','team':'C','Q1':55,'Q2':56,'Q3':57,'Q4':58} df = df.append(lily, ignore_index=True)
結(jié)果展示
原df
lily
新df
擴(kuò)展練習(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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python統(tǒng)計(jì)RGB圖片某像素的個(gè)數(shù)案例
這篇文章主要介紹了python統(tǒng)計(jì)RGB圖片某像素的個(gè)數(shù)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Django處理Ajax發(fā)送的Get請(qǐng)求代碼詳解
在本篇文章里小編給大家整理了關(guān)于Django處理Ajax發(fā)送的Get請(qǐng)求代碼知識(shí)點(diǎn),有需要的朋友們參考學(xué)習(xí)下。2019-07-07Pytorch torch.repeat_interleave()用法示例詳解
torch.repeat_interleave() 是 PyTorch 中的一個(gè)函數(shù),用于按指定的方式重復(fù)張量中的元素,這篇文章主要介紹了Pytorch torch.repeat_interleave()用法示例詳解,需要的朋友可以參考下2024-01-01Python如何使用隊(duì)列方式實(shí)現(xiàn)多線程爬蟲(chóng)
這篇文章主要介紹了Python如何使用隊(duì)列方式實(shí)現(xiàn)多線程爬蟲(chóng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05python實(shí)現(xiàn)在IDLE中輸入多行的方法
下面小編就為大家分享一篇python實(shí)現(xiàn)在IDLE中輸入多行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04