pandas常用操作详解——pd.concat()
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])