gpt4 book ai didi

python - numpy 中多个向量的逐元素最小值

转载 作者:太空狗 更新时间:2023-10-30 00:29:16 25 4
gpt4 key购买 nike

我知道在 numpy 中我可以计算两个向量的元素最小值

numpy.minimum(v1, v2)

如果我有一个等维向量列表,V = [v1, v2, v3, v4](但是是列表,不是数组)怎么办?采用 numpy.minimum(*V) 不起作用。相反,首选做什么?

最佳答案

如果 V 只有 2 个数组,则

*V 有效。 np.minimum 是一个 ufunc 并接受 2 个参数。

作为 ufunc,它有一个 .reduce 方法,因此它可以重复应用于列表输入。

In [321]: np.minimum.reduce([np.arange(3), np.arange(2,-1,-1), np.ones((3,))])
Out[321]: array([ 0., 1., 0.])

我怀疑 np.min 方法更快,但这可能取决于数组和列表的大小。

In [323]: np.array([np.arange(3), np.arange(2,-1,-1), np.ones((3,))]).min(axis=0)
Out[323]: array([ 0., 1., 0.])

ufunc 还有一个accumulate 可以向我们显示减少每个阶段的结果。这不是很有趣,但我可以调整输入来改变它。

In [325]: np.minimum.accumulate([np.arange(3), np.arange(2,-1,-1), np.ones((3,))])
...:
Out[325]:
array([[ 0., 1., 2.],
[ 0., 1., 0.],
[ 0., 1., 0.]])

关于python - numpy 中多个向量的逐元素最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39277638/

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