Numpy的array合并

2019-07-20  本文已影响0人  李小夭
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])

vstack:vertical stack 上下合并

A和B均为3个元素的序列,上下合并后C为2行3列的矩阵

C = np.vstack((A,B))
print(C)
print(A.shape,C.shape)

[[1 1 1]
 [2 2 2]]
(3,) (2, 3)

hstack:horizontal stack 左右合并

A和B均为3个元素的序列,左右合并后D为6个元素的序列

D = np.hstack((A,B))
print(D)
print(A.shape,D.shape)

[1 1 1 2 2 2]
(3,) (6,)

将原来的横向序列变成纵向序列后再进行合并

  1. 尝试T行列转置,结果发现对于一维序列无效
print(A)
print(A.T)

[1 1 1]
[1 1 1]
  1. 用reshape更改序列形状有效
print(A)
print(A.reshape(3,1))

[1 1 1]
[[1]
 [1]
 [1]]

使用reshape改变序列形状后进行合并

# 改变序列形状
A = np.array([1,1,1]).reshape(3,1)
B = np.array([2,2,2]).reshape(3,1)
print(A)
print(B)

[[1]
 [1]
 [1]]
[[2]
 [2]
 [2]]

# 合并
C = np.hstack((A,B))
print(C)

[[1 2]
 [1 2]
 [1 2]]

用concatenate进行横向和纵向的array合并

axis = 0 上下合并

C = np.concatenate((A,B),axis = 0)
print(C)

[[1]
 [1]
 [1]
 [2]
 [2]
 [2]]

axis = 1 左右合并

C = np.concatenate((A,B),axis = 1)
print(C)

[[1 2]
 [1 2]
 [1 2]]

Numpy学习教程来源请戳这里

上一篇下一篇

猜你喜欢

热点阅读