数组的合并
import numpy as np
# 创建数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.ones((2, 2), dtype=np.int32)
print('arr1:\n', arr1)
print('arr2:\n', arr2)
print('*' * 100)
# 数组合并
# 向右合并----水平方向
# res = np.hstack((arr1, arr2))
# print('res:\n', res)
# 向下合并----垂直方向
# res = np.vstack((arr1, arr2))
# print('res:\n', res)
# np.concatenate进行合并
# 注意:如果使用np.concatenate进行合并,必须保证所有的数组维度都是一样
# 参数1:要拼接的数组元组
# 参数axis: 在二维数组中,axis=0,代表行的方向;axis=1代表列的方向
res = np.concatenate((arr1, arr2), axis=0)
# res = np.concatenate((arr1, arr2), axis=1)
print('res:\n',res)
方向图解
数组的拆分
import numpy as np
# 创建数组
arr = np.arange(16).reshape((4, 4))
print('arr:\n', arr)
# 数组拆分
# 水平拆分------>将水平方向进行打断拆分
# 参数1:需要拆分的数组
# 参数2:拆分的份数,拆分的时候,必须能够进行平均拆分
# res = np.hsplit(arr, 2)
# print('res:\n',res)
# 垂直拆分 ---将垂直方向进行打断拆分
# res = np.vsplit(arr, 4)
# print('res:\n',res)
# 此时参数2:
# --->第一部分---:1
# --->第二部分---1:2
# --->第三部分----2:3
# --->第四部分----3:
# res = np.vsplit(arr, [1, 2, 3])
# res = np.vsplit(arr, [1, 3])
# print('res:\n', res)
# split
# 行的方向拆分 ---->将行的方向打断为拆分
# res = np.split(arr, 2, axis=0)
# 列的方向拆分----->将列的方向进行打断拆分
# res = np.split(arr, 2, axis=1)
# res = np.split(arr, [1, 3], axis=1)
# print('res:\n', res)
# 注意:拆分的时候,有限制
# 拆分条件 ---前n列为一部分,最后一列为一部分
# res = np.split(arr, [-1], axis=1)
# print('res:\n', res)
# 索引方式
res1 = arr[:, :-1]
res2 = arr[:, -1:]
print('res1:\n', res1)
print('res2:\n', res2)