gpt4 book ai didi

python - 在python中,比较元素中的两个数组并将较低的值更改为零

转载 作者:行者123 更新时间:2023-11-30 22:32:55 25 4
gpt4 key购买 nike

现在我们有两个数组

a = [[1.,2.,3.,4.,5.,6.,7.,8.,9.],[9.,8.,7.,6.,5.,4.,3.,2.,1.]]

b = [[2.,2.,1.,2.,0.,2.,1.,2.,0.],[2.,2.,1.,2.,0.,2.,1.,2.,0.]]

有没有什么快速的方法可以实现以下功能:按元素比较这两个数组,并按以下规则更改数组 a[]:

if a[i,j] > b[i,j]: 

a[i,j] = a[i,j]

else

a[i,j] = 0

我知道循环可以做到这一点,但我想知道是否有其他更快的方法来做到这一点。

最佳答案

import numpy as np
a = np.array([[1.,2.,3.,4.,5.,6.,7.,8.,9.],[9.,8.,7.,6.,5.,4.,3.,2.,1.]])
b = np.array([[2.,2.,1.,2.,0.,2.,1.,2.,0.],[2.,2.,1.,2.,0.,2.,1.,2.,0.]])

gr = np.greater(a,b)
a = np.multiply(a,gr)

gr 和 a 数组变为:

[[False False  True  True  True  True  True  True  True]
[ True True True True True True True False True]]

array([[ 0., 0., 3., 4., 5., 6., 7., 8., 9.],
[ 9., 8., 7., 6., 5., 4., 3., 0., 1.]])

关于python - 在python中,比较元素中的两个数组并将较低的值更改为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316523/

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