常用数组结合/合并/连接函数:
- numpy.concatenate
- numpy.stack
- numpy.append
搭配函数:
- numpy.resize
注意各个函数对输入的尺寸约束,常常需要先用resize调整数组结构,再使用合适的函数连接数组
numpy.concatenate
numpy.concatenate 函数用于沿指定轴连接相同形状的两个或多个数组
实例
import numpy as np
a = np.array([[1,2],[3,4]])
print ('第一个数组:')
print (a)
print ('\n')
b = np.array([[5,6],[7,8]])
print ('第二个数组:')
print (b)
print ('\n')
# 两个数组的维度相同
print ('沿轴 0 连接两个数组:')
print (np.concatenate((a,b)))
print ('\n')
print ('沿轴 1 连接两个数组:')
print (np.concatenate((a,b),axis = 1))
输出结果为:
第一个数组: [[1 2] [3 4]]
第二个数组: [[5 6] [7 8]]
沿轴 0 连接两个数组: [[1 2] [3 4] [5 6] [7 8]]
沿轴 1 连接两个数组: [[1 2 5 6] [3 4 7 8]]
numpy.stack
numpy.stack 函数用于沿新轴连接数组序列
实例
import numpy as np
a = np.array([[1,2],[3,4]])
print ('第一个数组:')
print (a)
print ('\n')
b = np.array([[5,6],[7,8]])
print ('第二个数组:')
print (b)
print ('\n')
print ('沿轴 0 堆叠两个数组:')
print (np.stack((a,b),0))
print ('\n')
print ('沿轴 1 堆叠两个数组:')
print (np.stack((a,b),1))
输出结果如下:
第一个数组: [[1 2] [3 4]]
第二个数组: [[5 6] [7 8]]
沿轴 0 堆叠两个数组: [[[1 2] [3 4]]
[[5 6] [7 8]]]
沿轴 1 堆叠两个数组: [[[1 2] [5 6]]
[[3 4] [7 8]]]
numpy.append
numpy.append 函数在数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中。 此外,输入数组的维度必须匹配否则将生成ValueError。
append 函数返回的始终是一个一维数组。
实例
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print ('第一个数组:')
print (a)
print ('\n')
print ('向数组添加元素:')
print (np.append(a, [7,8,9]))
print ('\n')
print ('沿轴 0 添加元素:')
print (np.append(a, [[7,8,9]],axis = 0))
print ('\n')
print ('沿轴 1 添加元素:')
print (np.append(a, [[5,5,5],[7,8,9]],axis = 1))
输出结果为:
第一个数组: [[1 2 3] [4 5 6]]
向数组添加元素: [1 2 3 4 5 6 7 8 9]
沿轴 0 添加元素: [[1 2 3] [4 5 6] [7 8 9]]
沿轴 1 添加元素: [[1 2 3 5 5 5] [4 5 6 7 8 9]]