Python 在numpy 2D数组中按索引比较两个元素

Python 在numpy 2D数组中按索引比较两个元素,python,numpy,Python,Numpy,我目前正在学习这门课程来学习numpy:。我目前正忙于练习1(列比较) 该练习说明:编写函数列_比较,以获取二维数组作为参数。该函数应返回一个新数组,其中包含输入中第二列中的值大于最后一列中的值的行 以下是测试阵列: arr = np.array([[8 ,9 ,3 ,9 ,8], [0 ,5 ,3 ,9 ,9], [5 ,7 ,6 ,0 ,4], [7 ,8 ,1 ,6 ,2],

我目前正在学习这门课程来学习numpy:。我目前正忙于练习1(列比较)

该练习说明:编写函数列_比较,以获取二维数组作为参数。该函数应返回一个新数组,其中包含输入中第二列中的值大于最后一列中的值的行

以下是测试阵列:

arr = np.array([[8 ,9 ,3 ,9 ,8],
                [0 ,5 ,3 ,9 ,9],
                [5 ,7 ,6 ,0 ,4],
                [7 ,8 ,1 ,6 ,2],
                [2 ,1 ,3 ,5 ,8],
                              ])
我尝试了这些,它们打印相同的输出:

c = arr[1] > arr[-2]      arr[arr[1] > arr[-2]]

[[5 7 6 0 4]
 [7 8 1 6 2]
 [2 1 3 5 8]]
结果应该是:

[[8 9 3 8 8]
[5 7 6 0 4]
[7 8 1 6 2]]

事实上,我甚至不知道它是做什么的,最后一行肯定不满足我想要的条件。我觉得我遗漏了一些非常明显的东西,但我无法想出有效的解决方案。

您没有选择专栏

将numpy导入为np
arr=np.数组([[8,9,3,9,8],
[0 ,5 ,3 ,9 ,9],
[5 ,7 ,6 ,0 ,4],
[7 ,8 ,1 ,6 ,2],
[2 ,1 ,3 ,5 ,8],
])
打印(arr[arr[:,1]>=arr[:,-2]]
[[8 9 3 9 8]
[5 7 6 0 4]
[7 8 1 6 2]