zoukankan      html  css  js  c++  java
  • A convenient way to recognize and handwrite multidimensional arrays in Numpy

    As a new learner of Numpy, it is very common to be confused by the form of array, braces nested in braces, such as ‘a= np.array[[[1],[2],[3]]]’ so that its shape cannot be precisely known by the users, although the shape can be fetched through ‘a.shape’, making users unable to perform multidimensional array correctly.

    The method is as the following:(1)every array needs a most out brace.(2) Go inner, the number of paired brace is the element number of 0 axis, 1 axis, 2 axis etc.(3) The dimension number increased along with the going-inner, until the number element is reached, the sum of levels is the dimensional number.

    For example:

    >>> import numpy as np
    >>> data=np.arange(4)
    >>> data1=data.reshape((4,1))
    >>> data2=data.reshape((1,4))
    >>> data3=data.reshape((2,2))
    >>> data4=data.reshape((1,2,2))
    >>> data5=data.reshape((2,1,2))
    >>> data6=data.reshape((2,2,1))
    >>> data
    array([0, 1, 2, 3])
    >>> data1
    array([[0],
           [1],
           [2],
           [3]])
    >>> data2
    array([[0, 1, 2, 3]])
    >>> data3
    array([[0, 1],
           [2, 3]])
    >>> data4
    array([[[0, 1],
            [2, 3]]])
    >>> data5
    array([[[0, 1]],
    
           [[2, 3]]])
    >>> data6
    array([[[0],
            [1]],
    
           [[2],
            [3]]])

    ①data1's shape is (4,1),so firstly, the most out brace pair shall be set-->[ ], and then 0 axis is 4, meaning 4 pairs of brace inside -->[ [ ],[ ],[ ],[ ] ] ,finally, 1 axis is 1,and is the final dimension, meaning 1 number element shall be inside-->[ [0],[1],[2],[3]].

    ② data2's shape is (1,4), firstly-->[ ], then -->[ [ ] ], finally -->[ [ 0,1,2,3] ]

    ③ data3's shape is (2,2), firstly-->[ ] ,then--> [ [ ], [ ] ], finally-->[ [0,1], [2,3] ]

    ④data4' shape is (1,2,2), firstly-->[ ] ,then-->[ [ ] ], then--> [ [ [ ], [ ] ] ], finally--> [ [ [ 0,1], [2,3 ] ] ]

    ⑤data5's shape is (2,1,2),firstly--> [ ],then-->[ [ ],[ ] ], then-->[ [ [ ] ], [ [ ] ] ], finally --> [ [ [ 0,1],[ [ 2,3] ] ]

    ⑥data6's shape is (2,2,1),firstly-->[ ],then --> [ [ ] ,[ ] ],then-->[ [ [ ], [ ] ], [ [ ] , [ ] ] ],finally-->[ [ [ 0],[1] ], [ [2],[3] ] ]

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    OpenUrl 的跨平台实现
    通用性站点管理后台(Bee OPOA Platform)
    使用Lucene.net提升网站搜索速度整合记录
    ASP.NET MVC相关
    LeetCode:Copy List with Random Pointer
    ASP.NET交互Rest服务接口(Jquery的Get与Post方式)
    How to Prevent Cross-Site Scripting Attacks
    高性能网站建设指南
    异常
    soket.io.js + angular.js + express.js(node.js)
  • 原文地址:https://www.cnblogs.com/johnyang/p/11819433.html
Copyright © 2011-2022 走看看