concat函數基本介紹:
功能:基於同一軸將多個數據集合並
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False)
參數詳解:
objs:待合並的所有數據集,一般為列表list,list中的元素為series或dataframe
axis:合並時參考的軸,axis=0為基於行合並;axis=1為列合並,默認為0
join:連接方式為內連接(inner)or外連接(outer)
其他參數不常用,這里不做說明
舉例說明:
#構造數據 df1=pd.DataFrame(np.arange(1,17).reshape(4,4),columns=list('ABCD')) df2=pd.DataFrame(np.arange(17,33).reshape(4,4),columns=list('ABCD'))
"1.基於行合並" data=pd.concat([df1,df2])
"2.基於列合並" data1=pd.concat([df1,df2],axis=1)
"3.其他功能" #內連接-取交集 #首先重新命名df1的行索引,使df1與df2的索引不同 df1.rename(index={0:1,1:2,2:3,3:4},inplace=True) data2=pd.concat([df1,df2],axis=1,join='inner')
#外連接-取並集 #注:無數據的地方會以空值NaN填充 data3=pd.concat([df1,df2],axis=1,join='outer')
#指定根據哪個軸來對齊數據 #引入join_axes參數,join_axes=[df1.index]為保留df1的軸,df2將根據df1的index進行合並 data4=pd.concat([df1,df2],axis=1,join_axes=[df1.index])