@R星校长
stack
stack
的意思是堆叠的意思,所谓的堆叠就是将两个ndarray
对象堆叠在一起组合成一个新的ndarray
对象。根据堆叠的方向不同分为hstack
以及vstack
两种。
hstack
假如你是某公司的HR
,需要记录公司员工的一些基本信息。可能你现在已经记录了如下信息:
工号 | 姓名 | 出生年月 | 联系电话 |
---|---|---|---|
1 | 张三 | 1988.12 |
13323332333 |
2 | 李四 | 1987.2 |
15966666666 |
3 | 王五 | 1990.1 |
13777777777 |
4 | 周六 | 1996.4 |
13069699696 |
世界上没有不变的需求,你的老板让你现在记录一下公司所有员工的居住地址和户籍地址,此时你只好屁颠屁颠的记录这些附加信息。然后可能会有这样的结果:
居住地址 | 户籍地址 |
---|---|
江苏省南京市禄口机场宿舍202 | 江西省南昌市红谷滩新区天月家园A座2201 |
江苏省南京市禄口机场宿舍203 | 湖南省株洲市天元区新天华府11栋303 |
江苏省南京市禄口机场宿舍204 | 四川省成都市武侯祠安置小区1栋701 |
江苏省南京市禄口机场宿舍205 | 浙江省杭州市西湖区兴天世家B座1204 |
接下来你需要把之前记录的信息和刚刚记录好的附加信息整合起来,变成酱紫:
工号 | 姓名 | 出生年月 | 联系电话 | 居住地址 | 户籍地址 |
---|---|---|---|---|---|
1 | 张三 | 1988.12 | 13323332333 | 江苏省南京市禄口机场宿舍202 | 江西省南昌市红谷滩新区天月家园A座2201 |
2 | 李四 | 1987.2 | 15966666666 | 江苏省南京市禄口机场宿舍203 | 湖南省株洲市天元区新天华府11栋303 |
3 | 王五 | 1990.1 | 13777777777 | 江苏省南京市禄口机场宿舍204 | 四川省成都市武侯祠安置小区1栋701 |
4 | 周六 | 1996.4 | 13069699696 | 江苏省南京市禄口机场宿舍205 | 浙江省杭州市西湖区兴天世家B座1204 |
看得出来,你在整合的时候是将两个表格(二维数组)在水平方向上堆叠在一起组合起来,拼接成一个新的表格(二维数组)。像这种行为称之为hstack
(horizontal stack
)。
NumPy
提供了实现hstack
功能的函数叫hstack
,hstack
的使用套路代码如下:
import numpy as np
a = np.array([[8, 8], [0, 0]])
b = np.array([