Ben bu özel soru daha önce talebinde bulunulmadığını şaşırıyorum, ama gerçekten SO ne de np.sort
dökümanlarına bulamadık. varsayılan olarak bunu sıralamak EğerSayısal diziyi azalan sırada verimli bir şekilde mi sıralıyorsunuz?
> temp = np.random.randint(1,10, 10)
> temp
array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4])
, ben artan olsun sipariş:
> np.sort(temp)
array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7])
ama çözüm sıralanmasını istediğiniz
Ben rastgele numpy dizi tutan tamsayılar, örneğin var ki azalan sipariş.Şimdi, hep yapmak biliyorum:
reverse_order = np.sort(temp)[::-1]
ama bu son açıklama etkilidir? Artan sırayla bir kopya oluşturmuyor ve sonucu ters sırayla almak için bu kopyayı tersine çevirmiyor mu? Bu durum gerçekten geçerliyse, verimli bir alternatif var mı? np.sort
, sıralamayı ters sırada almak için sıralama işlemindeki karşılaştırmaların işaretini değiştirmek için parametreler kabul etmez.
Teşekkürler, ama nasıl bir temp [:: - 1] .sort() 'ters sıralamak zorunda olduğunu biliyor mu? Okuduğum yol: orijinal diziyi tersine çevir ve sonra (artan düzende). Orijinal diziyi (rastgele bir sırayla) tersine çevirmek ve sonra artan sıraya göre sıralamak neden diziyi ters sırayla döndürür? –
Bu davranış, oldukça mantıksız olduğu için belgelendi. – ebarr
gördüğüm ama '[:: - 1] değil o' sıklıkla kullanılır 'sıralama zamanı, operasyon alıcı toplam zamanın çok küçük bir kısmını alacak kadar büyük olursa olsun, bir dizi geri olduğunu –