Yeni özellikler
- Yeni değişken uzunluklu dize dtype'ı
StringDType ve dize işlemleri için numpy.strings ad alanı eklendi.
- Tüm
numpy.fft fonksiyonlarında float32 ve longdouble desteği.
- Ana
numpy ad alanında dizi API standardı desteği.
Performans iyileştirmeleri
- Sıralama fonksiyonları (
sort, argsort, partition, argpartition), Intel x86-simd-sort ve Google Highway kütüphaneleri kullanılarak hızlandırıldı.
- macOS Accelerate desteği ve macOS >=14 için ikili wheel sunuluyor; doğrusal cebir işlemlerinin performansı büyük ölçüde iyileştirildi.
numpy.char sabit uzunluklu dize işlemleri hızlandırıldı.
- Donanıma özgü kernel'leri denetleyip kullanabilen yeni izleme ve inceleme API'si
opt_func_info eklendi.
Python API iyileştirmeleri
- Genel API ile genel olmayan API'nin net biçimde ayrılması, yeni modül yapısı.
- Kullanımdan kaldırılmış çok sayıda fonksiyon ve takma ad kaldırıldı; öğrenmesi ve kullanması kolaylaştı.
- Standart dtype adları ve yeni
isdtype denetim fonksiyonu eklendi.
C API iyileştirmeleri
- Özel dtype oluşturmak için yeni genel C API eklendi.
- Eski fonksiyonlar ve makrolar kaldırıldı, genel olmayan iç yapılar gizlendi.
- Yeni başlatma fonksiyonları:
PyArray_ImportNumPyAPI ve PyUFunc_ImportUFuncAPI.
İyileştirilen davranış
- NEP 50 benimsenerek tür yükseltme davranışı iyileştirildi; artık girdi dizilerinin veri değerlerine değil yalnızca dtype'a bağlı.
- Windows'ta varsayılan tamsayı türü
int32'den int64'e değiştirildi.
- Azami dizi boyut sayısı 32'den 64'e çıkarıldı.
Dokümantasyon
- Referans kılavuzunda gezinme büyük ölçüde iyileştirildi.
- Kaynaktan derleme dokümantasyonu tamamen yeniden yazıldı.
Python API'den kaldırılanlar
np.geterrobj, np.seterrobj ve ilgili ufunc anahtar sözcük argümanı extobj= kaldırıldı.
np.cast kaldırıldı, yerine np.asarray(arg, dtype=dtype) kullanılmalı.
np.source kaldırıldı, yerine inspect.getsource kullanılmalı.
np.lookfor kaldırıldı.
numpy.who kaldırıldı; bunun yerine Spyder veya Jupyter Notebook gibi IDE'lerin değişken gezgini öneriliyor.
- Kullanımdan kaldırılmış çeşitli fonksiyonlar ve takma adlar kaldırıldı.
GN⁺ görüşü
- Performans iyileştirmeleri: Yeni sıralama algoritmaları ve macOS Accelerate desteği sayesinde veri işleme hızının önemli ölçüde artması bekleniyor.
- API sadeleştirmesi: Kullanımdan kaldırılmış fonksiyonların ve takma adların silinmesi, NumPy kullanımını daha sezgisel ve yalın hale getiriyor.
- Tür yükseltme: NEP 50'nin benimsenmesiyle tür yükseltme davranışı daha öngörülebilir hale geldi. Bu, karışık dtype işlemlerinde beklenmedik sonuçları azaltmaya yardımcı olacaktır.
- Dokümantasyon iyileştirmeleri: Referans kılavuzu ve derleme belgelerindeki iyileştirmeler, geliştiricilerin NumPy'yi daha kolay anlamasını ve kullanmasını sağlayacak.
- Uyumluluk sorunları: Çok sayıda API değişikliği bulunduğu için mevcut kodlar uyumsuz hale gelebilir. Kodu güncellemek için geçiş kılavuzuna başvurmak gerekiyor.
2 yorum
Çakışan paket epey fazla olacak gibi..
Hacker News görüşleri
Karmaşık işlem kombinasyon yöntemleri: Eleman bazlı olmayan işlemleri kurmak için daha basit ve akılda kalıcı bir yönteme ihtiyaç var. Çok fazla farklı yöntem olduğu için her seferinde yeniden öğrenmek zorunda kalmak zor oluyor.
Windows varsayılan tamsayı türü değişikliği: Windows'ta varsayılan tamsayı türü
int32'denint64'e değiştirildi. Bunun diğer platformlarla uyumlu hale gelmesi iyi oldu.NumPy'deki başlıca güncellemeler: NumPy'yi doğrudan sık kullanmayan kullanıcılar için büyük bir değişiklik olmayabilir. Daha çok pandas ve scipy kullanılıyor, NumPy algoritmalarına ise yalnızca gerektiğinde başvuruluyor.
Güncelleme döngüsü: Büyük güncellemeler geldiğinde hemen yükseltme yapmak yerine, kararlı bir sürüm çıkana kadar beklemeyi tercih ediyorum.
Sürüm yönetimi: 18 yıl sonra gelen ilk büyük ana sürüm değişikliği için yeni bir sürüme fork etmek daha iyi olabilirdi.
pip install numpy2ile kurulup diğer kütüphanelerle uyumluluğu dert etmemek daha iyi olurdu.Paket uyumluluğu sorunu: Bazı paketler 1.x sürümüne sabitlenmediği için sorunlar yaşanıyor.
pip install numpy==1.*ile geçici olarak çözülebilir.Sürüm notları bağlantısı: NumPy 2.0.0 sürüm notları bağlantısı paylaşıldı. NumPy 2.0.0 sürüm notları