python - 如何使用numpy从另一个列表中获取所有max_values的最小值的索引
问题描述
我有两个数组
B = [[250, 100], [200, 120], [150, 150], [150, 80], [100, 150], [150, 250]]
A = [[1, 1], [1, 0.5], [0.5, 0.5], [0.5, 1], [0.8, 0.3], [0.5, 0.9]]
第一步是接收数组中所有最大 [0] 值的项目及其索引
a0 = [[1, 1], [1, 0.5]]
max_a_index_0 = [0, 1]
然后我们通过收到的最大值的索引从 B 数组中获取项目
b0 = [[250, 100], [200,120]]
之后,我们选择具有最小值的项目并从原始 B 数组中获取它的索引。
max_b0_index_0 = 1
与 [1] 元素相同的过程:
b1 = [[250, 100], [150, 80]]
a1 = [[1, 1], [0.5, 1]]
max_a_index_1 = [0, 3]
max_b0_index_1 = 3
更新:这是我的代码。有没有更好的方法来做这样的计算?
for n in range(2):
a_max_0 = np.argwhere(np.array(A)[:,n] == np.amax(np.array(A)[:,n])).flatten().tolist()
b_a_max_0 = [B[i] for i in range(len(A)) if i in a_max_0]
b_min_0 = np.argwhere(np.array(b_a_max_0)[:,n] == np.amin(np.array(b_a_max_0)[:,n])).flatten().tolist()
a_b_max_min_index = [a_max_0[i] for i in range(len(a_max_0)) if i in b_min_0]
print(a_b_max_min_index)
解决方案
推荐阅读
- tensorflow - tf.keras.layers.Conv2D 获取内核值
- .net - 将字符串拆分为行并使用.net检查当前行和下一行
- laravel - 更新当前布尔值的相反值
- php - Javascript 时间戳在 Laravel 中被 Carbon 解析为错误日期
- php - 附加到 XML 的末尾时,formatOutput 不起作用,但在第一次创建文件时,formatOutput 工作正常
- css - 将反应门户居中在父元素的顶部
- r - muthist 中没有空格的盒子
- javascript - 在特定单元格不为空时在 Google 表格中运行一个脚本,将公式生成到单元格中
- windows - 错误:在Windows中通过cmd在c盘中创建文件?
- jquery - 如何在同一页面上为 2 个无线电流制作播放/停止按钮?