59

私はこのような配列を持っています:

  array([[-0.57098887, -0.4274751 , -0.38459931, -0.58593526],
         [-0.22279713, -0.51723555,  0.82462029,  0.05319973],
         [ 0.67492385, -0.69294472, -0.2531966 ,  0.01403201],
         [ 0.41086611,  0.26374238,  0.32859738, -0.80848795]])

今、私は以下を抽出したい:

   [-0.57098887, -0.4274751]
   [-0.22279713, -0.51723555]
   [ 0.67492385, -0.69294472]
   [ 0.41086611,  0.26374238]

したがって、基本的には最初の2列だけです..

4

2 に答える 2

90

あなたaの配列の場合:

In [11]: a[:,:2]
Out[11]: 
array([[-0.57098887, -0.4274751 ],
       [-0.22279713, -0.51723555],
       [ 0.67492385, -0.69294472],
       [ 0.41086611,  0.26374238]])
于 2012-05-16T19:13:40.293 に答える
28

私はこれがかなり古い質問であることを知っています-

A = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

たとえば、最初の 2 行と最初の 3 列を抽出したいとします。

A_NEW = A[0:2, 0:3]
A_NEW = [[1, 2, 3],
         [4, 5, 6]]

構文を理解する

A_NEW = A[start_index_row : stop_index_row, 
          start_index_column : stop_index_column)]

行2と列2と3が必要な場合

A_NEW = A[1:2, 1:3]

numpy のインデックス作成とスライスの記事を参照してください - Indexing & Slicing

于 2015-05-14T18:20:17.280 に答える