脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python numpy 矩阵堆叠实例

python numpy 矩阵堆叠实例

2020-04-18 10:49binqiang2wang Python

今天小编就为大家分享一篇python numpy 矩阵堆叠实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
np.stack((a,b)) #默认行堆叠
 
输出:
 
array([[1, 2, 3],
  [4, 5, 6]])
 
np.vstack((a, b))
 
输出:
 
array([[1, 2, 3],
  [4, 5, 6]])
np.hstack((a, b))
 
输出:
 
array([1, 2, 3, 4, 5, 6])

简单解释一下上面的代码:其实主要是一个函数,stack(),这个函数其实包含了各种堆叠方式,我们上面的例子是针对二维矩阵的,其实我们大部分时候的操作都是针对二维矩阵的,为了方便,所以又定义了两个函数vstack()进行垂直的堆叠(vertically ),hstack()进行水平堆叠(horizontally)

函数stack()有个参数,axis,可以设置堆叠的维度,默认是0,其实和vstack()是一个效果,当设置成1的时候,结果如下

?
1
2
3
4
5
6
7
np.stack((a,b),axis=1)
 
输出:
 
array([[1, 4],
  [2, 5],
  [3, 6]])

从效果看,相当于按照原来a的第二维度,也就是列,一列一列的取出来,按行拼成了一个矩阵。

那么,hstack()的效果能不能利用stack()实现呢?我这里是没有探索出来,欢迎知道的童靴指教,不过hstack()的效果其实和concatenate是一样的

?
1
2
3
np.concatenate((a,b))
输出:
array([1, 2, 3, 4, 5, 6])

以上这篇python numpy 矩阵堆叠实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/m0_37052320/article/details/79072402

延伸 · 阅读

精彩推荐