检查数组值是否在另一个数组的两个值之间

托德·香农

我有两个数组。明智的一步:

steps = np.arange(0, 50, 2.5)
vect = np.random.normal(50, 5.6, 100)
index = [x for x in np.arange(len(a))]

我想检查 的每个元素vect是否一对steps. 例如,如果vect[0]在元素steps[0]之间steps[1],则返回True, else False所以每个项目都vect将与steps成对的所有项目进行检查,如果这有意义的话。我在想这样的事情:

for x in index:
    for y in vect:
        print(steps[x] <= y <= steps[x+1])

这显然行不通。另外,我需要为每step单独的列表(它们实际上是数据框中的列)。不知道从这里去哪里。

保罗·潘泽

你可以ufunc.outer像这样使用

steps = np.arange(0, 22.5, 2.5)
vect = np.random.normal(10, 5.0, 10)

np.less.outer(vect,steps[1:]) & np.greater_equal.outer(vect,steps[:-1])

示例输出:

array([[False, False, False, False, False, False,  True, False],
       [False, False, False, False,  True, False, False, False],
       [False,  True, False, False, False, False, False, False],
       [False, False, False,  True, False, False, False, False],
       [False, False, False,  True, False, False, False, False],
       [False, False, False, False,  True, False, False, False],
       [False, False, False, False, False, False, False,  True],
       [False, False, False,  True, False, False, False, False],
       [False, False,  True, False, False, False, False, False],
       [False, False, False,  True, False, False, False, False]])

或作为数据帧

pd.DataFrame(np.less.outer(vect,steps[1:]) & np.greater_equal.outer(vect,steps[:-1]), columns=[f"{steps[i]:.1f}-{steps[i+1]:.1f}" for i in range(len(steps)-1)])

输出:

   0.0-2.5  2.5-5.0  5.0-7.5  7.5-10.0  10.0-12.5  12.5-15.0  15.0-17.5  17.5-20.0
0    False    False    False     False      False      False       True      False
1    False    False    False     False       True      False      False      False
2    False     True    False     False      False      False      False      False
3    False    False    False      True      False      False      False      False
4    False    False    False      True      False      False      False      False
5    False    False    False     False       True      False      False      False
6    False    False    False     False      False      False      False       True
7    False    False    False      True      False      False      False      False
8    False    False     True     False      False      False      False      False
9    False    False    False      True      False      False      False      False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查一个数组是否包含另一个数组的值

检查一个数组是否包含另一个数组的值

Pandas:检查一个数据框的日期是否在另一个数据框的两个日期之间并替换值

检查数组-值是否包含在另一个数组中?

检查基于另一个数组的数组中是否存在值

PHP-检查数组值是否在另一个数组中

检查数组中的类型是否匹配另一个数组中的值

使用Laravel验证检查数组中的值是否在另一个数组中

检查一个数组的值是否与另一个数组的键匹配-PHP

检查一个数组中的所有值是否在另一个数组中

检查另一个数组中是否存在一个数组的值

检查php中两个或多个数组中是否存在一个值

检查一个值是否存在于两个或多个数组中

如何根据另一个数组的值条件从两个数组中选择值?

数组中的差/和,以检查生成的两个数字是否导致另一个数组

检查一个javascript数组是否包含另一个数组的所有值

如何检查一个数组是否在另一个数组PHP中具有一个接一个的值?

合并两个值的两个数组,并使其成为一个数组,就像php中的另一个键一样

检查另一个数组中的任何数组是否包含另一个数组中的值

检查列中的值是否为另一个数组的超集

交换两个数组的值,使另一个数组不重复,并从最高到最低排序

比较两个数组并替换/合并另一个数组 (js) 中存在的 id 值

由另一个数组索引的两个 numpy 数组的元素最小值

PHP检查数组值是否在相同位置匹配另一个数组的值

检查所有数组值是否存在于另一个数组值中

PHP foreach两个数组,在一个数组中找到一个值,在另一个数组中使用另一个字段(添加到数组)

PHP检查数组是否包含另一个数组的所有数组值

比较两个数组的元素以及元素是否匹配然后在某些条件下修改另一个数组值的问题

删除另一个数组的数组值