numpy中vstack以及hstack的使用详解

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy中vstack以及hstack的使用详解相关的知识,希望对你有一定的参考价值。

序言

两个方法都是用作数据拼接,只不过拼接的维度方向不同,这篇文章会详细将两个方法的各种使用以及产生的结果
注意点:两个方法都只接受一个参数

vstack使用

vstack要求拼接的数据具用相同的列数。vstack相当于将数据一行一行的向后堆叠

a = np.array([1, 2, 3])
b = np.array([11, 22, 33])
c = np.array([111, 222])
d = np.array([[1111, 2222], [3333, 4444]])
e = np.array([[11111, 22222, 33333], [11111, 22222, 33333]])
display(a, b, c, d, e)

数据有相同的shape

# 同样shape
np.vstack((a, b))
array([[ 1,  2,  3],
       [11, 22, 33]])

行数相同列数不同

# 行数相同,列数不同
np.vstack((a, c))

行数不同,列数相同

# 行数不同,列数相同
np.vstack((a, e))

行数列数都不同

# 行数不同,列数不同
np.vstack((a, d))

hstack使用

hstack要求数据具有有相同的行数,hstack将同一纬度的数据按照原始数据的顺序合并为一个新的列表,作为该维度新的数据

同样的shape

# 同样shape
np.hstack((a, b))

行数相同列数不同

# 行数相同,列数不同
np.hstack((d, e))

行数不同列数相同

# 行数不同,列数相同
np.hstack((a, e))

行数列数都不同

# 行数不同,列数不同
np.hstack((a, d))

以上是关于numpy中vstack以及hstack的使用详解的主要内容,如果未能解决你的问题,请参考以下文章

numpy数组的堆叠:numpy.stack, numpy.hstack, numpy.vstack

Numpy 中 np.vstack() 和 np.hstack() 简单解析

Numpy:np.vstack()&np.hstack() flat/flatten

numpy.stack vs concatenate vs hstack vs vstack

Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

2-Numpy之hstackvstackconcatenate区别