基于数组之间差异的大小创建numpy数组

2024-04-26 18:26:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2个numpy数组:

import numpy as np
arr_a = np.random.rand(10)
arr_b = np.random.rand(10)

如果arr_aarr_b之间的大小差大于指定的百分比(比如30%),我想创建一个在特定位置包含1的数组。现在,我可以创建包含1的数组,如果arr_a大于arr_b,否则0。你知道吗

arr_c = numpy.where(arr_a > arr_b, 1.0, 0.0)

Tags: importnumpyasnprandom数组where百分比
2条回答

复制arr_a并按适当的因子缩放,然后使用where。你知道吗

假设您的意思是相对于arr_a的差值大小,请使用:

import numpy as np 

arr_a = np.random.rand(10) 
arr_b = np.random.rand(10)

arr_c = np.where((abs(arr_a - arr_b)/arr_a) > 0.3, 1, 0) 

如果需要相对于arr_b的差值大小,请使用:

arr_c = np.where((abs(arr_a - arr_b)/arr_b) > 0.3, 1, 0) 

相关问题 更多 >