Ray 学习笔记,温习 python: stack

numpy 的stack 的直译是堆栈,通俗的说法就是如果你有一堆砖,您是横着放,还是竖着放。如果是3维空间,您是沿着x轴放,还是y轴放,还是z轴放。。。

stack的操作既可以对ndarray,又可以对list,但操作后,变量是ndarray.

我们先来验证对ndarray, 随机产生一个list嵌套array,变量名是arrays(type是list),但arrays的每一个元素都是ndarray。np.stack 操作以后,就是一个shape是(2,2,3)的ndarray。

import numpy as np

arrays = [np.random.randn(2,3) for _ in range(2)]

print("arrays in list is: {0}".format(arrays))
>arrays in list is: [array([[ 0.28396971,  0.92718814, -1.4422189 ],
                            [ 0.36319258, -0.61124134, -1.17067133]]), 
                     array([[ 1.30923184,  0.6940435 , -0.2277809 ],
                            [-1.02785336,  0.18862084, -1.14111492]])]
print("type of arrays is: {0}".format(type(arrays)))
> type of arrays is: <class 'list'>
print("first element of list is array, {0}".format(type(arrays[0])))
> first element of list is array, <class 'numpy.ndarray'>

stack_arrays = np.stack(arrays,axis=0)

> stack_array is: [[[ 0.28396971  0.92718814 -1.4422189 ]
                    [ 0.36319258 -0.61124134 -1.17067133]]
                   [[ 1.30923184  0.6940435  -0.2277809 ]
                    [-1.02785336  0.18862084 -1.14111492]]]
print("type of stack_arrays is: {0}".format(type(stack_arrays)))
> type of stack_arrays is: <class 'numpy.ndarray'>
print("shape of arrays_stack is: {0}".format(stack_arrays.shape))
> shape of arrays_stack is: (2, 2, 3)

然后我们来验证list中嵌套list,看如下变量list_list, np.stack 对list_list操作后,stack_list的type变成了ndarray. 

list_list = [
             [[1,3,3],
              [2,4,5]],
             [[2,3,4],
              [4,5,6]]]
print("type of list_list is: {0}".format(type(list_list)))
> type of list_list is: <class 'list'>

stack_list = np.stack(list_list,axis=0)

print("stack_list is :{0}".format(stack_list))
> stack_list is :[[[1 3 3]
                   [2 4 5]]
                  [[2 3 4]
                   [4 5 6]]]
print("type of stack_list is: {0}".format(type(stack_list)))
> type of stack_list is: <class 'numpy.ndarray'>

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值