>> a = np.array([[1, 2], [3, 4]]) >>> b = np.arr..."/>
您好,登錄后才能下訂單哦!
本文為大家分享了python的concat等多種用法,供大家參考,具體內(nèi)容如下
1、numpy中的concatenate()函數(shù):
>>> a = np.array([[1, 2], [3, 4]]) >>> b = np.array([[5, 6]]) >>> np.concatenate((a, b), axis=0) array([[1, 2], [3, 4], [5, 6]]) >>> np.concatenate((a, b.T), axis=1) array([[1, 2, 5], [3, 4, 6]])
2、pandas中的merge,concat,join
# In[]:數(shù)據(jù)的合并 # 1 ,merge,類似數(shù)據(jù)庫中的 # (1)內(nèi)連接,pd.merge(a1, a2, on='key') # (2)左連接,pd.merge(a1, a2, on='key', how='left') # (3)右連接,pd.merge(a1, a2, on='key', how='right') # (4)外連接, pd.merge(a1, a2, on='key', how='outer') data1 = pd.DataFrame( np.arange(0,16).reshape(4,4), columns=list('abcd') ) data1 data2 = [ [4,1,5,7], [6,5,7,1], [9,9,123,129], [16,16,32,1] ] data2 = pd.DataFrame(data2,columns = ['a','b','c','d']) data2 # 內(nèi)連接 ,交集 pd.merge(data1,data2,on=['b']) # 左連接 注意:如果 on 有兩個條件,on = ['a','b'] # how = 'left','right','outer' pd.merge(data1,data2,on='b',how='left') # 2,append,相當(dāng)于R中的rbind # ignore_index = True:這個時候 表示index重新記性排列,而且這種方法是復(fù)制一個樣本 data1.append(data2,ignore_index = True) # 3,join data2.columns=list('pown') # 列名不能重疊:在這里的用法和R中rbind很像,但是join的用法還是相對麻煩的 result = data1.join(data2) result # 4,concat 這個方法能夠?qū)崿F(xiàn)上面所有的方法的效果 # concat函數(shù)是pandas底下的方法,可以把數(shù)據(jù)根據(jù)不同的軸進(jìn)行簡單的融合 # 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)ist # axis:0 行,1列 # join:inner,outer # a,相同字段表首尾巴相接 data1.columns = list('abcd') data2.columns =list('abcd') data3 = data2 # 為了更好的查看連接后的數(shù)據(jù)來源,添加一個keys更好查看 pd.concat([data1,data2,data3],keys=['data1','data2','data3']) # b ,列合并(也就是行對齊):axis = 1, pd.concat([data1,data2,data3],axis = 1,keys = ['data1','data2','data3']) data4 = data3[['a','b','c']] # 在有些數(shù)據(jù)不存在的時候,會自動填充NAN pd.concat([data1,data4]) # c:join:inner 交集,outer ,并集 pd.concat([data1,data4],join='inner') # 在列名沒有一個相同的時候會報錯 # data4.index = list('mnp') # pd.concat([data1,data4])
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。