我很难找到一种很好的方法来访问numpy数组的最后一个元素的范围索引。
在MATLAB中,我会这样做:array(:,4:end)
获取所有行和列4及以上。
python中的array[-1]
会抓取最后一个元素,但是根据我的测试,array[:,3:-1]
不会抓取最后一列(它会找到所有4及以上的行和列,除了最后一列,它被跳过了)。
有没有人知道一种快捷的方法来索引最后一个元素,当范围索引时,这样我就不必在每次创建数组时都自己弄清楚了?先谢了。
我尝试验证array[0:-1]
是否携带整个数组,但它没有。
1条答案
按热度按时间monwx1rj1#
在python中索引数组时,slice是 * including * start和 * excluding * end。因此,使用
arr[:, 3:-1]
将返回每一行和列4,但不包括最后一列。如果你想一直切片到最后,把stop参数留空,即写
arr[:, 3:]
。