相思本是无凭语,

莫向花牋费泪行。

hanstary

相思本是无凭语,莫向花牋费泪行。

NumPy数组的合并

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会将两个二维数组合并成为三维数组的一个元素

posted on 2024-06-22 15:19  hanstary  阅读(31)  评论(0编辑  收藏  举报

导航