NumPy 2.0.0 yayımlandı
(numpy.org)Yeni özellikler
- Yeni değişken uzunluklu dize dtype'ı
StringDTypeve dize işlemleri içinnumpy.stringsad alanı eklendi. - Tüm
numpy.fftfonksiyonlarındafloat32velongdoubledesteği. - Ana
numpyad 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.charsabit uzunluklu dize işlemleri hızlandırıldı.- Donanıma özgü kernel'leri denetleyip kullanabilen yeni izleme ve inceleme API'si
opt_func_infoeklendi.
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
isdtypedenetim 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_ImportNumPyAPIvePyUFunc_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'denint64'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.seterrobjve ilgili ufunc anahtar sözcük argümanıextobj=kaldırıldı.np.castkaldırıldı, yerinenp.asarray(arg, dtype=dtype)kullanılmalı.np.sourcekaldırıldı, yerineinspect.getsourcekullanılmalı.np.lookforkaldırıldı.numpy.whokaldı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ı