赞
踩
对数组进行操作时,注意轴向
水平方向合并
垂直方向合并
深度方向合并
数组的合并要以业务为向导。
比如,需要查询一班与二班所有学生的成绩,就采用垂直合并两个班的学生成绩数组。
numpy 对二维数组支持三个轴向的组合。
注意:
组合数组,两个数组需要在组合的方向上具有相同的行或列。
import numpy as np a = np.arange(1, 7).reshape(2, 3) b = np.arange(7, 13).reshape(2, 3) print(a) print(b) print('-' * 20) # 传入的参数为两个数组组成的元组 # 水平方向组合 c = np.hstack((a, b)) print(c) print('-' * 20) # 垂直方向组合 c = np.vstack((a, b)) print(c) print('-' * 20) # 深度方向组合 c = np.dstack((a, b)) print(c) print('-'*20)
numpy 对二维数组支持三个轴向的拆分。
注意:
拆分数组时,要保证数组能够被平分,否则会报错。
同时,接收拆分后数组的变量的个数需要与拆分后数组的个数相等。
import numpy as np arr = np.arange(1, 13).reshape(3, 4) print(arr) print('-' * 20) # 水平方向拆分 a, b = np.hsplit(arr, 2) print(a) print(b) print('-' * 20) # 垂直方向拆分 a, b, c = np.vsplit(arr, 3) print(a) print(b) print(c) print('-' * 20) # 深度方向拆分只能在三维及以上的数组中 # 深度方向拆分 arr = np.dstack((arr, arr)) a, b = np.dsplit(arr, 2) print(a) print(b) print('-' * 20)
import numpy as np
a = np.arange(1, 7).reshape(2, 3)
b = np.arange(7, 13).reshape(2, 3)
print(a)
print(b)
print('-' * 20)
# 第一个参数为要合并的两个数组组成的元组
# 第二个参数为合并的方向
c = np.concatenate((a, b), axis=0)
print(c)
print('-' * 20)
import numpy as np
arr = np.arange(1, 7).reshape(2, 3)
print(arr)
print('-' * 20)
# 第一个参数为要拆分的数组
# 第二个参数为拆分后数组的个数
# 拆分的方向
a, b = np.split(arr, 2, axis=0)
print(a)
print(b)
import numpy as np a = np.arange(1, 9) b = np.arange(9, 17) print(a) print(b) print() # 把两个一维数组合并成两行(垂直方向合并) c = np.row_stack((a, b)) print(c) print() # 把两个一维数组合并成两列(两个数组转置后合并) c = np.column_stack((a, b)) print(c)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。