您的位置:首页 > 编程语言 > Python开发

【python】stack,hstack,vstack

2017-08-02 13:17 387 查看
stack()函数

函数原型:stack(arrays, axis=0)

example1:

import numpy as np
a=[[1,2,3],
[4,5,6]]
print("列表a如下:")
print(a)

print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)

print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)

输出:
列表a如下:
[[1, 2, 3], [4, 5, 6]]
增加一维,新维度下标为0
[[1 2 3]
[4 5 6]]
增加一维,新维度下标为1
[[1 4]
[2 5]
[3 6]]


example2:

import numpy as np
a=[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
print("列表a如下:")
print(a)

print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)

print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)

输出:
列表a如下:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
增加一维,新维度的下标为0
[[ 1  2  3  4]
[ 5  6  7  8]
[ 9 10 11 12]]
增加一维,新维度的下标为1
[[ 1  5  9]
[ 2  6 10]
[ 3  7 11]
[ 4  8 12]]


example3:

import numpy as np
a=[1,2,3,4]
b=[5,6,7,8]
c=[9,10,11,12]
print("a=",a)
print("b=",b)
print("c=",c)

print("增加一维,新维度的下标为0")
d=np.stack((a,b,c),axis=0)
print(d)

print("增加一维,新维度的下标为1")
d=np.stack((a,b,c),axis=1)
print(d)

输出:
('a=', [1, 2, 3, 4])
('b=', [5, 6, 7, 8])
('c=', [9, 10, 11, 12])
增加一维,新维度的下标为0
[[ 1  2  3  4]
[ 5  6  7  8]
[ 9 10 11 12]]
增加一维,新维度的下标为1
[[ 1  5  9]
[ 2  6 10]
[ 3  7 11]
[ 4  8 12]]


example4:

import numpy as np
a=[[1,2,3],
[4,5,6]]
b=[[1,2,3],
[4,5,6]]
c=[[1,2,3],
[4,5,6]]
print("a=",a)
print("b=",b)
print("c=",c)

print("增加一维,新维度的下标为0")
d=np.stack((a,b,c),axis=0)
print(d)

print("增加一维,新维度的下标为1")
d=np.stack((a,b,c),axis=1)
print(d)
print("增加一维,新维度的下标为2")
d=np.stack((a,b,c),axis=2)
print(d)

输出:
('a=', [[1, 2, 3], [4, 5, 6]])
('b=', [[1, 2, 3], [4, 5, 6]])
('c=', [[1, 2, 3], [4, 5, 6]])
增加一维,新维度的下标为0
[[[1 2 3]
[4 5 6]]

[[1 2 3]
[4 5 6]]

[[1 2 3]
[4 5 6]]]
增加一维,新维度的下标为1
[[[1 2 3]
[1 2 3]
[1 2 3]]

[[4 5 6]
[4 5 6]
[4 5 6]]]
增加一维,新维度的下标为2
[[[1 1 1]
[2 2 2]
[3 3 3]]

[[4 4 4]
[5 5 5]
[6 6 6]]]


hstack()函数

函数原型:hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组

作用:在水平方向把元素堆起来

>>>import numpy as np
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>print(np.hstack((a,b)))
[1 2 3 4 5 6 ]


>>>import numpy as np
>>>a=[[1],[2],[3]]
>>>b=[[1],[2],[3]]
>>>c=[[1],[2],[3]]
>>>d=[[1],[2],[3]]
>>>print(np.hstack((a,b,c,d)))
[[1 1 1 1]
[2 2 2 2]
[3 3 3 3]]


vstack()函数

函数原型:vstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组

作用:在垂直方向把元素堆叠起来

>>>import numpy as np
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>print(np.vstack((a,b)))
[[1 2 3]
[4 5 6]]


>>>import numpy as np
>>>a=[[1],[2],[3]]
>>>b=[[1],[2],[3]]
>>>c=[[1],[2],[3]]
>>>d=[[1],[2],[3]]
>>>print(np.vstack((a,b,c,d)))
[[1]
[2]
[3]
[1]
[2]
[3]
[1]
[2]
[3]
[1]
[2]
[3]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python