从行/列中提取元素

时间:2018-04-27 00:12:15

标签: python numpy

import numpy as np
data = np.arange(35).reshape(7,5)
print (data)

enter image description here

我想在红色中提取元素。

result = data[-3:, -2:]

打印(结果)

[[23 24]
 [28 29]
 [33 34]]

错!

怎么回事?

2 个答案:

答案 0 :(得分:1)

你非常接近,但你的-2位于:的错误一边

您想要从最后3行访问,但只能直到最后2列:

In [52]: data[-3:, :-2]
Out[52]:
array([[20, 21, 22],
       [25, 26, 27],
       [30, 31, 32]])

-2: ==最后两列

:-2 ==直到最后两列

如果您明确想要最后3行和前3列,您还可以使用:

In [53]: data[-3:, :3]
Out[53]:
array([[20, 21, 22],
       [25, 26, 27],
       [30, 31, 32]])

答案 1 :(得分:1)

优雅而完美:

result = data[-3:, :3]