我有一个数组
a = [1, 2, 3, 4, 5, 6]
和b = [1, 3, 5]
,我想映射a
,以便对于a
中的每个元素,如果它在b
中的元素之间,则将其映射到b
的索引,该索引是包含a
的上限范围。这可能不是最好的文字解释,但以下是一个例子。a = 1 -> 0 because a <= first element of b
a = 2 -> 1 because b[0] < 2 <= b[1] and b[1] = 3
a = 3 -> 1
a = 4 -> 2 because b[1] < 4 <= b[2]
因此,我想要的最终产品是f(a, b) = [0, 1, 1, 2, 2, 2]
我知道我可以使用循环来解决它,但我想知道是否有一种聪明、快速(向量化)的方法可以在pandas/numpy中完成。