我对Python很陌生,对术语或语法不太了解。
我正在尝试将数组中的所有最小值分配给1
(如果它是最小值),而不是0
。
我尝试过:
numpy.minimum(Drug, Size, Strength, Intake Form, variable, /, out=None, *, where= if True=1 else=0)
值变量为price
,而我为firm
函数省略了变量min
。每个数组的特征是drug
,size
,strength
,intake form
和变量,如果价格最低,我想用1
替换每个公司的价格如果没有,则为0
。
我将如何编写此代码?
答案 0 :(得分:0)
这是几种可能的方法之一。
import numpy as np
def min_mask(arr):
m = np.min(arr)
return np.vectorize(lambda x: x == m)(arr).astype(int)
if __name__ == '__main__':
my_arr = np.array([-1, -2, -6, -4, -5, -1, -1, -6, -1])
print(min_mask(my_arr))
输出:
[0 0 1 0 0 0 0 1 0]