2012-05-16 80 views
18

我有一個這樣的數組:提取第一n列

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列..

+3

numpy的文件:[切片](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing)。總是先檢查文件。 –

+1

@JoelCornett:謝謝..所以切片是術語..如果你知道這個概念而不是術語,它會變得非常困難.. :)很多謝謝:) – Fraz

回答

42

如果a是您的陣列:

In [11]: a[:,:2] 
Out[11]: 
array([[-0.57098887, -0.4274751 ], 
     [-0.22279713, -0.51723555], 
     [ 0.67492385, -0.69294472], 
     [ 0.41086611, 0.26374238]]) 
3

我知道這很老的問題 -

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

比方說,你要提取 - 第2排和第3列

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

理解語法

A_NEW = A[Start_index : stop_index, start_index : stop_index)] 

如果一個想要第2行和第2列和第3列

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

參考的numpy的索引和切片文章 - Indexing & Slicing