Gerçek değerler içeren bir numpy vektörüne sahibim. Bu vektördeki her bir değer için, değerin kendisinden daha büyük olan değerlerin sayısını saymak istiyorum. ÖrneğinHer değerin kendisi için işlemden daha büyük saymanın etkili yolu
:
# pandas
df[column].apply(lambda x: (df[column] > x).sum())
# numpy equivalent
[(arr>x).sum() for x in arr]
Ama çok yavaş:
input: array([1.,2.,3.,1.,1.,0.,10.]) # numpy array
output: array([3, 2, 1, 3, 3, 6, 0])
İlk fikirdi. Bunu yapmanın verimli bir yolu var mı?
Bu np.searchsorted (sort_array, val, side = 'right') 'için sayısal bir analog buldum. Oldukça zekice bir çözüm! – f311a
@ f311a: Lütfen tüm şeyi NumPy tek liner olarak nasıl yazacağınıza dair güncellenmiş cevaba bakınız. – NPE
* claps * Çok hoş. – ShadowRanger