利用pandas數(shù)據(jù)合并與重塑
1.concat函數(shù)
concat函數(shù)是在pandas下的方法呐芥,可以將數(shù)據(jù)根據(jù)不同的軸作簡單的融合
pd.concat(objs, axis=0,join='outer', join_axes=None, ignore_index=False,? ? ? keys=None, levels=None, names=None, verify_integrity=False)
參數(shù)說明
objs: series竹祷,dataframe或者是panel構(gòu)成的序列l(wèi)sit
axis: 需要合并鏈接的軸,0是行渗稍,1是列
join:連接的方式 inner,或者outer
1.1相同字段的表首尾相接
#將表構(gòu)成list,然后作為concat的輸入
frames = [df1,df2,df3]
results = pd.concat(frame)
要在相接的時候再加上一個層次的key來識別數(shù)據(jù)源自于哪張表,可以增加key參數(shù)
result = pd.concat(frames,keys=['x','y','z'])
1.2橫向表拼接(行對齊)
1.2.1 axis
當(dāng)axis = 1 的時候孽拷,concat就是行對齊,然后將不同列名稱的兩張表合并
result = pd.concat([df1,df4],axis = 1)
1.2.2 join
加上join參數(shù)的屬性半抱,如果為‘inner’得到的是兩表的交集
如果是outer脓恕,得到的是兩表的并集
result = pd.concat([df1,df4],axis=1,join='inner')
1.2.3 join_axes
如果有join_axes的參數(shù)傳入,可以指定根據(jù)那個軸來對齊數(shù)據(jù)
例如根據(jù)df1的表對齊數(shù)據(jù)窿侈,就會保留指定的df1表的軸炼幔,然后將df4的表與之拼接
result = pd.concat([df1,df4],axis=1,join_axes=[df1.index])
1.3 append函數(shù)
append是series和dataframe的方法,使用它就是默認(rèn)沿著列進(jìn)行憑借(axis = 0,列對齊)
result = df1.append(df2)
參考鏈接:http://blog.csdn.net/stevenkwong/article/details/52528616