四、numpy生成矩阵,矩阵的合并,矩阵增加维度,用concatenate合并多个矩阵

python -V3.7
numpy -V 1.17

背景
继上一篇学完矩阵的索引、取某行某列元素、多维矩阵转为一行数列,本文继续学习矩阵的合并。

1、两个矩阵上下合并,用vertical stack,函数就是vstack

import numpy as np

# 矩阵的合并,用vertical stack,上下合并
A = np.array([1,1,1])
B = np.array([2,2,2])

c = np.vstack((A,B))
print(c)
# [[1 1 1]
#  [2 2 2]]

2、矩阵左右合并,用horizontal stack,函数就是hstack

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

print(D)  # [1 1 1 2 2 2]
print(D.shape)  # (6,)

3、增加维度,通过newaxis

# 增加维度,通过newaxis
print(A)
# [1 1 1]
print(A[np.newaxis,:])
# [[1 1 1]]
print(A[np.newaxis,:].shape)
# (1, 3)

print(A[:,np.newaxis])
# [[1]
#  [1]
#  [1]]

print(A[:,np.newaxis].shape)
# (3, 1)

4、合并多个矩阵,axis控制横向还是纵向

a = np.array([1,1,1])[:,np.newaxis]
b = np.array([2,2,2])[:,np.newaxis]
# 合并多个矩阵和序列
e = np.concatenate((a,b,b,a),axis=0)
print(e)
f = np.concatenate((a,b,b,a),axis=1)
print(f)
# axis参数很好控制了矩阵的纵向还是横向打印

你可能感兴趣的:(数据处理,numpy)