在python中,用於數組拼接的主要來自numpy包,當然pandas包也可以完成。
而,numpy中可以使用append和concatenate函數:
1. 建立數組
# pandas有專門的連接方法 import numpy as np # np.size(a, 0) 行數 # np.size(a, 1) 列數 a = np.array([[1, 2],[3, 4],[5, 6]]) b = np.array([[11, 22],[33, 44],[55, 66]]) print(np.size(a,0)) print(np.size(a,1)) print(a) print(b)
2. np.append函數
c = np.append(a,b) print(c) d = np.append(a,100) #直接將所有元素重新排列成新的一維數組 print(d)
3. np.concatenate函數
e = np.concatenate((a,b),axis=0) #簡言之:行增加了;或者說在第一個中括號上添加元素 print(e) f = np.concatenate((a,b),axis=1) #簡言之:列增加了;或者說在第二個中括號上添加元素 print(f)
g = np.concatenate([a,b],axis=1) #簡言之:列增加了;或者說在第二個中括號上添加元素 print(g)
注:同理,如果原數組是3維及以上,則會在相應的維度上添加元素,例如:3維 —— axis=2時,表示在第三個中括號([[[......]]]從外到內,一次為第一個中括號、第二個、第三個......)上添加元素。
4. hstack 和 vstack 函數
# 行連接:等價於 np.concatenate((a,b),axis = 1) c = np.hstack((a,b)) print(c) # 列連接:等價於 np.concatenate((a,b),axis = 0) d = np.vstack((a,b)) print(d)
生成3維數組:dstack
e = np.dstack((a,b)) print(e)
##