如何替换数组中的最小值?

时间:2019-04-04 05:14:15

标签: python

我对Python很陌生,对术语或语法不太了解。

我正在尝试将数组中的所有最小值分配给1(如果它是最小值),而不是0

我尝试过:

numpy.minimum(Drug, Size, Strength, Intake Form, variable, /, out=None, *, where= if True=1 else=0)

值变量为price,而我为firm函数省略了变量min。每个数组的特征是drugsizestrengthintake form和变量,如果价格最低,我想用1替换每个公司的价格如果没有,则为0

我将如何编写此代码?

1 个答案:

答案 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]