Python:numpy數組拼接之np.concatenate、hstack 、vstack


在python中,用於數組拼接的主要來自numpy包,當然pandas包也可以完成。

而,numpy中可以使用appendconcatenate函數:

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)

 

##


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM