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)

 

##

posted on 2020-04-09 21:00  落日峡谷  阅读(3215)  评论(0编辑  收藏  举报

导航