我有一個數組a = [1, 2, 3, 4, 5, 6]
和b = [1, 3, 5]
,我想映射a
使得對於a
每一個元素,在b
元素之間是它會被映射到的b
指數是上範圍的a
包含在,不是在口頭上最好的解釋,但這裏有一個例子Python的 - 簡單的方法來「比較」映射一個陣列到另一個
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]
我知道我只需循環,解決它,但我不知道是否有是一個聰明,快速(矢量)的方式來做到這一點的大熊貓/ numpy的
是那些陣列總是囑咐? – taras
是的,你可以假定他們是有序的。也可以假設b中的每個元素都包含在一個(沒有這個約束的更一般的解決方案將是太棒了,但我認爲它更容易) – Michael