numpy——矩阵的合并、分割和复制
python入门常用操作:Python从0到1_python 把0到1等分为1000个元素-CSDN博客
目录
一、矩阵合并
# 一、矩阵合并
import numpy as np
a = np.array([1,1,1])
b = np.array([2,2,2])
# 1.上下合并 vertical stack 支持多个矩阵的合并
c = np.vstack((a,b))
print(c)
print(a.shape, c.shape)
# 2.左右合并 horizontal stack 支持多个矩阵的合并
d = np.hstack((a,b))
print(d)
print(a.shape, d.shape)
a1 = np.array([1,1,1]).reshape(3,1)
b1 = np.array([2,2,2]).reshape(3,1)
print(a1)
print(b1)
d1 = np.hstack((a1,b1))
print(d1)
# 3.concatenate 多个矩阵多维的合并
e = np.concatenate((a1,a1,b1,d1),axis=1)
print(e)
f = np.concatenate((a1,a1,b1),axis=0)
print(f)
print('\n')
二、矩阵分割
# 二、矩阵分割
import numpy as np
a = np.arange(12).reshape(3,4)
print(a)
# 1.split:实现平均分割, 矩阵、份数、方向(维度)
b = np.split(a, 2, axis=1) # 纵向
print(b)
print(b[0])
c = np.split(a,3,axis=0)
print(c)
print(c[0])
# 2.array_split:实现不等量的分割
d = np.array_split(a, 3, axis=1)
print(d)
print('\n')
三、矩阵复制
# 三、矩阵复制
import numpy as np
a = np.arange(4)
print(a)
b = a
c = a
d = b
a[0] = 4
print(a)
print(b)
print(d)
print(b is a, d is a)
print(id(a), id(b), id(d))
d[1] = 4
print(a)
print(b)
print(d)
# copy, 可以称为deep copy,创造一个新空间存值
f = a.copy()
print(f is a)
print(id(f), id(a))
print(f)
print(a)