Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数组排序、切片和反转返回空_Python_Numpy - Fatal编程技术网

Python 数组排序、切片和反转返回空

Python 数组排序、切片和反转返回空,python,numpy,Python,Numpy,我有一个按最后一列排序的数组,我想在其中使用/显示前3个排序行 切片和反转第二维度(第二个示例)也起作用。 但是,当我想要反转第一个维度(第三个示例)时,我得到一个空打印输出 我复制了一些示例,但当我输入一个slice和一个-1作为reverse时,我也得到了一个空输出 很明显我错过了什么 arr = np.array ([[8, 2, 4, 6], [8, 3, 1, 8], [3, 7, 6, 1],

我有一个按最后一列排序的数组,我想在其中使用/显示前3个排序行

切片和反转第二维度(第二个示例)也起作用。 但是,当我想要反转第一个维度(第三个示例)时,我得到一个空打印输出

我复制了一些示例,但当我输入一个slice和一个-1作为reverse时,我也得到了一个空输出

很明显我错过了什么

arr = np.array ([[8, 2, 4, 6],
                 [8, 3, 1, 8],
                 [3, 7, 6, 1],
                 [9, 4, 2, 4],
                 [4, 7, 5, 8],
                 [1, 9, 3, 5],
                 [1, 3, 9, 111],
                 [3, 6, 7, 111],
                 [2, 8, 2, 111],
                 [4, 5, 9, 3]])

print(arr[0:10,:])
print("###")

# Sort by column 4, then by column 3
lexsorted_index = np.lexsort((arr[:, 2], arr[:, 3])) 
a = arr[lexsorted_index]

print(a[0:10:1,::]) #0-10th row each step, all columns
print("###")
print(a[0:10:1,::-1]) #0-10th row each step, all columns reversed

print("###")
print(a[0:3:-1,::]) #0-3rd row reversed, all columns 

Python切片语法是
start:stop:step
,而不是
low:high:step
。如果您的步骤是倒计时,则起点是高点,而不是低点

另外,切片是开始独占和停止独占,而不是低独占和高独占,因此,如果您想要前3行,则开始值应该是2而不是3,并且停止值应该被忽略,以便尽可能地进行切片(因为-1并不表示您想要的值)


Python切片语法是
start:stop:step
,而不是
low:high:step
。如果您的步骤是倒计时,则起点是高点,而不是低点

另外,切片是开始独占和停止独占,而不是低独占和高独占,因此,如果您想要前3行,则开始值应该是2而不是3,并且停止值应该被忽略,以便尽可能地进行切片(因为-1并不表示您想要的值)

print(a[2::-1])