0

我有一个从 0 到 999 的 numpy 数组,我想制作一个从列表中的最后一个元素 (999) 到中间的元素 (500) 的切片。

test[500:][::-1] 有效,但如果我有一个二维数组并且我只想沿第零轴这样做,它就不起作用,因为它也会反转第二个轴。

import numpy as np
test = np.arange(1000)
test[500:][::-1]
4

2 回答 2

1

-1您可以使用以下步骤从您的停止索引切片-1

> import numpy as np

> n = np.arange(20)
> n[-1:10:-1]
array([19, 18, 17, 16, 15, 14, 13, 12, 11])

> # or (thanks iz_)
> n[:10:-1]
array([19, 18, 17, 16, 15, 14, 13, 12, 11])
于 2019-08-01T06:41:46.067 回答
0

您可以使用 np.flip()

>>> x = np.arange(20)
>>> x
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19])
>>> np.flip(x) 
array([19, 18, 17, 16, 15, 14, 13, 12, 11, 10,  9,  8,  7,  6,  5,  4,  3,
        2,  1,  0])
于 2019-08-01T06:45:29.857 回答