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会将两个二维数组合并成为三维数组的一个元素
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程