2014-09-01 206 views
-2

我正在进行并行化工作,并且在它们之间有numpy数组。 我要检查numpy的阵列 的指标,例如:Numpy数组中的元素索引1

pos是一个ndarray它的值是

pos : 

ndarray[[ 0. 44. 2367.] 
     [ 0. 73. 2301.] 
     [ 0. 38. 2304.] 
     [ 0. 35. 2349.] 
     [ 0.  6.  0.] 
     [ 0. 43. 2319.] 
     [ 0. 95. 2381.] 
     [ 0. 189.  3.] 
     [ 0.  0. 2339.] 
     [ 0. 22. 2335.] 
     [ 0. 44. 2345.] 
     [ 0. 44. 2345.] 
     [ 0. 52. 2348.] 
     [ 0. 50. 2348.]] 

dtype :float64 

max : 2381.0 
min :0.0 

Shape = {tuple}(14, 3) 

size :42 

我要考虑我的计算只例如2367,2301,2304 POS ndarray的第二位。 ..等等。 那么我如何索引它们以及如何才能排序第二个位置值?意味着如果阵列的第二个位置是3,4,2,1那么我想要第二个位置是1,2,3,4那样.. 给我建议..

+0

numpy基本文档...它是f第一页... – Gioelelm 2014-09-01 14:41:01

回答

1

如果你想引用列数组的索引2(即最右边的列),你可以做

pos[:,2]

如果要排序(到位)的第二列中的POS数组,你可以这样做:

pos[:,2].sort()

+0

谢谢你的答案,但是当我使用print(pos [:,2] .sort())时,它会给出无.. – dbr 2014-09-01 14:38:37

+1

注意'pos [:,2] .sort()'。它只对*一列进行排序,并且不改变其他列。它不排序整个数组“pos”。 – 2014-09-01 14:42:15

+0

,我也想计算pos [i] [:,2] <0到25;然后pos [i] [:,2] <25到50,我想为循环计数12只pos数组的第二个位置,然后使它独立,并希望运行此12 for循环并行。所以给我建议 – dbr 2014-09-01 14:42:53