numpy函数hstack,vstack,dstack把几个小数组合并成一个大数组
vstack、hstack和dstack都用于把几个小数组合并成一个大数组。它们的差别是小数组的元素在大数组中的排列顺序有所不同
一、vstack
vstack实现了轴0合并。vstack的字母v表示vertical的意思,相当是追加的意思
numpy.vstack(tup)
tup:两个数组,除第一轴外,所有阵列的形状都必须相同。一维数组必须具有相同的长度
shape(N,)的1维数组已重塑为(1,N)后沿第一轴进行连接
#这个是(2,),会变成(1,2),因此下面这两种结果是一样的 import numpy as np a = [1,2] b = [3,4] c = np.vstack((a,b)) print(c) #这个是(1,2) a = [[1,2]] b = [[3,4]] c = np.vstack((a,b)) print(c) ''' [[1 2] [3 4]] [[1 2] [3 4]] '''
总结:有两列数据,然后再转置
pd.DataFrame(c)
二、hstack
hstack表示轴1合并
a = [[1,2], [3,4]] b = [[5], [6]] print(np.hstack([a,b])) # [[1 2 5] # [3 4 6]]
相当右边追加
三、dstack
看看之前使用到的
newvalues=np.dstack((np.repeat(t.reportno.values,list(map(len,t.data_list.values))),np.concatenate(t.data_list.values))) pd.DataFrame(data=newvalues[0],columns=['reportno','data_list'])
沿深度方向(沿第三轴)按顺序堆叠数组
numpy.dstack(tup)
参数:
tup:sequence of arrays,两个数组,除第三个轴外,所有阵列的形状都必须相同。一维或二维阵列必须具有相同的形状。
值得注意的是:
shape(M,N)的2维数组已重塑为(M,N,1),shape(N,)的1维数组 已重塑为(1, N,1),再按照第三维相加
现在,a、b在2号轴上被连接起来。如果a、b是一维数组,或是二维数组,系统首先将a、b变为三维数组,再按照2号轴进行合并操作,把a追加到c中,再把b的元素排到c中。在结果中,来自于b的元素的2号轴的下标将变大,因此排到a的后面,但各元素其它轴的坐标不变。
a = np.array((1,2,3)) b = np.array((2,3,4)) np.dstack((a,b)) '''
np.dstack((a,b))[0] 和上面的结果也是一样的
array([[[1, 2], [2, 3], [3, 4]]]) ''' np.dstack((a,b)).shape #(1, 3, 2) 沿第三轴相加,因此是1,3,2 a.shape #(3,) b.shape #(3,)
再看二维的
a = np.array([[1,2], [3,4]]) b = np.array([[5,6], [7,8]]) c = np.dstack([a,b]) print(c) ''' [[[1 5] [2 6]] [[3 7] [4 8]]] ''' print(c[:,:,0]) ''' [[1 2] [3 4]] ''' print(c[:,:,1]) ''' [[5 6] [7 8]] ''' print(c[0]) print(c[1]) ''' [[1 5] [2 6]] [[3 7] [4 8]] '''
看来这么多内在的东西,我们总结一下:
参数是一维时,其实就是就是两列数据,我们需要弄成df中的两列,二维时不清楚,反正就是对位merge
分类:
numpy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人