NumPy数组的合并
方法 | 说明 |
---|---|
concatenate() | 沿现有维度合并 |
hstack() | 沿现有维度水平合并 |
vstack() | 沿现有维度垂直合并 |
stack() | 沿新维度合并 |
1.concatenate()
np.concatenate((arr1,arr2),axis=n)
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
# 沿第1个维度
res1 = np.concatenate((arr1, arr2), axis=0)
# 沿第2个维度
res2 = np.concatenate((arr1, arr2), axis=1)
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res1:")
print(res1)
print("res2:")
print(res2)
2.hstack()
np.hstack((arr1,arr2))
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.hstack((arr1, arr2))
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)
水平合并也就是按照第二个维度进行合并
因此hstack()和concatenate((arr1,arr2),axis=1)的效果是一样的
3.vstack()
np.vstack((arr1,arr2))
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.vstack((arr1, arr2))
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)
垂直合并也就是按照第一个维度进行合并
因此vstack()和concatenate((arr1,arr2),axis=0)的效果是一样的
4.stack()
np.stack((arr1,arr2),axis=n)
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.stack((arr1, arr2),axis=1)
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)
stack()的合并结果是一个三维数组,stack会将两个二维数组合并成为三维数组的一个元素
标签:arr1,res,合并,np,arr2,数组,print,array,NumPy From: https://www.cnblogs.com/hanstary/p/18262374