Я использую функцию numpy
searchsort()
, чтобы найти индекс массива numpy
.Это работает только для некоторых массивов.Что не так (реализация ниже)?
import numpy as np
#specify the dtype in RV
RV = np.array([
np.array([0.23, 2.5, 5.0, 7.1]),
np.array(['a1', 'a2']),
np.array(['b2', 'b1'])
], dtype=object)
print(RV)
def Rules():
global r
r = np.array(np.meshgrid(*RV), dtype=object).T.reshape(-1,len(RV))
return r
Rules()
print(r)
print(RV[0].searchsorted(r[:,0])) #working
print(RV[1].searchsorted(r[:,1])) #working
print(RV[2].searchsorted(r[:,2])) #not working