繁体   English   中英

通过 numpy 二维数组中的索引比较两个元素

[英]Comparing two elements by index in a numpy 2D array

我目前正在通过本课程学习 numpy: https : //saskeli.github.io/data-analysis-with-python-summer-2019/numpy2.html 我目前被困在练习 1(列比较)中。

练习指出: 编写函数 column_comparison 以获取二维数组作为参数。 该函数应返回一个新数组,其中包含输入中第二列中的值大于倒数第二列中的值的那些行。

这是测试数组:

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]]

我实际上甚至无法弄清楚它的作用,最后一行肯定不满足我想要的条件。 我觉得我遗漏了一些非常明显的东西,但我想不出一个可行的解决方案。

你没有选择列

import numpy as np
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],
                              ])
print(arr[arr[:,1]>=arr[:,-2]])

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM