標籤

二元樹 (1) 字串常數池 (1) 投資 (3) 每月損益 (37) 例外處理 (1) 泛型 (2) 股票 (15) 指標 (5) 英文 (8) 基本資料型別 (1) 期貨 (1) 程式交易 (10) 量化投資 (5) 亂亂寫 (3) 概念 (3) 資料結構 (3) 演算法 (3) 數學 (3) 轉型 (1) AMA (1) ArrayList (1) assert (1) BeautifulSoup (1) C/C++ (8) casting (1) ClassCastException (1) classpath (1) Collection (4) Comparable (1) comparTo() (1) constructor (1) database (3) Debian (1) Dropbox (2) EA (2) enum (1) equals() (2) exception (3) extends (1) ffmpeg (1) final (1) Git (1) HashMap (1) HashSet (1) hasNext() (1) HTS (3) instanceof (1) IS-A (1) Iterator (1) JAVA (43) length (1) Linux (31) List (1) Mac (6) Map (1) ML (2) MT4 (6) MySQL (2) next() (1) NullPointerException (1) Number (1) Numpy (2) OpenCart (1) OpenCV (3) OSX (1) overloading (1) overriding (3) pandas (2) PHP (8) PriorityQueue (1) Python (11) Queue (1) random() (1) reverse() (1) Samba (1) SCJP (21) sqrt() (1) synchronized (1) talib (1) ufw (1) uTorrent (1) var-args (2) VHF (1) vim (2) Yhoo知識+ (4)

2019年10月23日 星期三

ndarray的取值

創建一個3x3x3的三維陣列:
arr2 = np.array(range(3,30)).reshape((3,3,3))
arr2
array([[[ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]],

       [[12, 13, 14],
        [15, 16, 17],
        [18, 19, 20]],

       [[21, 22, 23],
        [24, 25, 26],
        [27, 28, 29]]])

取值可以用陣列名稱加切片的方式,但以下需要注意的是:

arr2[ :2 , :3]      (=arr2[ :2][ :3],這兩個結果是一樣)
array([[[ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]],

       [[12, 13, 14],
        [15, 16, 17],
        [18, 19, 20]]])

上面是取全部值所以arr2[ :2 , :3]和arr2[ :2][ :3]結果是一樣,
若要切片,則arr2[ :2, 1:3] 與 arr2[ :2][1:3] 的結果完全不一樣:

arr2[ :2, 1:3]         #取arr2[0][1:3]和arr2[1][1:3]
array([[[ 6,  7,  8],
        [ 9, 10, 11]],

       [[15, 16, 17],
        [18, 19, 20]]])

arr2[ :2][1:3]     
array([[[12, 13, 14],
        [15, 16, 17],
        [18, 19, 20]]])

沒有留言:

張貼留言