Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
使用numpy中的查找值进行数组操作_Numpy - Fatal编程技术网

使用numpy中的查找值进行数组操作

使用numpy中的查找值进行数组操作,numpy,Numpy,以下数组值对应于以下查找值: lookup = np.array([60, 40, 50, 70, 90]) a = np.array([1, 2, 1, 4, 3, 2, 4, 9, 1]) b = np.array([2, 1, 2, 3, 3, 4, 9, 2, 1]) c = np.array([4, 2, 1, 4, 4, 1, 4, 4, 9]) 这是我必须做的 1 --> 60 2 --> 40 3 --> 50 4 --> 70 9 --> 90

以下数组值对应于以下查找值:

lookup = np.array([60, 40, 50, 70, 90])

a = np.array([1, 2, 1, 4, 3, 2, 4, 9, 1])
b = np.array([2, 1, 2, 3, 3, 4, 9, 2, 1])
c = np.array([4, 2, 1, 4, 4, 1, 4, 4, 9])
这是我必须做的

1 --> 60
2 --> 40
3 --> 50
4 --> 70
9 --> 90
最高为70

所以,结果的第一个元素是4

这样,

预期结果=数组([4,1,…,9])


解决此类问题的更好方法是什么?

这里有自定义索引,因此需要设置一个字典,用查找值替换自定义索引,如下所示:

index_map={1:60,2:40,3:50,4:70,9:90}
然后,我们使用
d
中索引的实际
lookup
值创建一个临时NumPy数组:

temp=np.array([index_map[int(x)]表示np.nditer(d)]中的x。重塑(d.shape)
因此,我们可以重新使用(选项1):

rows=temp.argmax(0)
打印(d[行,np.arange(d.shape[1]))
输出:

[41449]

预期结果是什么?你如何获得它?“你必须对值进行排序吗?”Ardweaden在和一个同时被删除的问题中,提到了最大值,但所有问题都不清楚。
array       1st column elements             lookup value

a            1        -->                   60
b            2        -->                   40
c            4        -->                   70