2014-01-10 145 views
0

三維陣列我有一個數組,看起來像下面的一個(波士頓殼體數據集)..創建基於三列

array = array([[ 6.32000000e-03, 1.80000000e+01, 2.31000000e+00, ..., 
      1.53000000e+01, 3.96900000e+02, 4.98000000e+00], 
     [ 2.73100000e-02, 0.00000000e+00, 7.07000000e+00, ..., 
      1.78000000e+01, 3.96900000e+02, 9.14000000e+00], 
     [ 2.72900000e-02, 0.00000000e+00, 7.07000000e+00, ..., 
      1.78000000e+01, 3.92830000e+02, 4.03000000e+00], 

我可以挑選出這樣的柱:

column_zero = [:, np.newaxis][:, :, 5] 

這給了我像

[[ 6.575] 
[ 6.421] 
[ 7.185] 
[ 6.998] 
[ 7.147] 
[ 6.43 ] 
    ... 

那是冷靜,如果我想要什麼。然而,使三維陣列基於THR ee列如5,2和0?

[[ 6.575, item_0_column_2, item_0_column_0] 
[ 6.421, item_1_column_2, item_1_column_0] 
[ 7.185, item_2_column_2, item_2_column_0] 
[ 6.998, item_3_column_2, item_3_column_0] 
[ 7.147, item_4_column_2, item_4_column_0] 
[ 6.43 , item_5_column_2, item_5_column_0] 
    ... 

所以基本上澄清,我要構建的列5,2和0。

回答

2

數組這是你想要的嗎?

>>> a = np.random.randint(0, 9, (3,6)) 
>>> a 
array([[7, 1, 7, 4, 2, 0], 
     [7, 5, 7, 1, 8, 5], 
     [3, 5, 5, 3, 5, 5]]) 

>>> a[:, [5, 2, 0]] 
array([[0, 7, 7], 
     [5, 7, 7], 
     [5, 5, 3]]) 
+0

啊是啊jeez,我忘了那個..謝謝啊哈 –