gpt4 book ai didi

python - 最接近值的元素(Elementwise,numpy 数组)

转载 作者:行者123 更新时间:2023-12-04 03:49:53 26 4
gpt4 key购买 nike

我曾经使用 min([a, b], key=lambda x:abs(x-x0)) 来查找 a 中的哪一个b 最接近 x0

a = 1
b = 2
x0 = 1.49
print(min([a, b], key=lambda x:abs(x-x0)))
# >>> 1

现在,ab 是具有任意维数的 numpy 数组。我想在两个数组之间逐个元素地构建一个由最接近 x0 的值组成的数组。

import numpy as np

a = np.array([[1, 2], [3, 5]])
b = np.array([[6, 2], [6, 2]])

## case 1
x0 = 4
# >>> should return np.array([[6, 2], [3, 5]])

## case 2
x0 = np.array([[1, 2], [3, 4]])
# >>> should return np.array([[1, 2], [3, 5]])

要找到两个数组之间的元素最小值,我们可以使用 numpy.minimum。遗憾的是,它不接受 lambda 函数作为参数。

我该怎么办?

最佳答案

这是您要找的吗?

np.where(np.abs(a - x0) < np.abs(b - x0), a, b)

关于python - 最接近值的元素(Elementwise,numpy 数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64577179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com