【发布时间】:2019-11-22 19:45:49
【问题描述】:
我正在尝试在一个 numpy 数组中应用条件语句并获得一个具有 1 和 0 值的布尔数组。
到目前为止,我尝试了 np.where(),但它只允许 3 个参数,在我的情况下我还有一些。
我先随机创建数组:
numbers = np.random.uniform(1,100,5)
现在,如果值低于 30,我想得到一个 0。如果值大于 70,我想得到 1。如果值在 30 和 70 之间,我想得到一个介于 0 和 1 之间的随机数。如果这个数字大于 0.5,那么数组中的值应该得到 1 作为布尔值,在其他情况下为 0。我想这是用 np.random 函数再次生成的,但是我不知道如何应用所有的论点。
如果输入数组是:
[10,40,50,60,90]
那么预期的输出应该是:
[0,1,0,1,1]
中间的三个值是随机分布的,因此在进行多次测试时它们可能会有所不同。
提前谢谢你!
【问题讨论】:
标签: python pandas conditional-statements numpy-ndarray