Çok boyutlu bir diziyi (yani, ndarray
türünde) belirli bir eksen boyunca NumPy'de kopyalar oluşturmadan düzleştirmenin bir yolu olup olmadığını merak ediyorum. Örneğin, bir dizi 2B görüntü var ve her bir vektörü düzleştirmek istiyorum. Yani, bunu yapmanın kolay bir yolu numpy.array([im.flatten() for im in images])
, ancak her birinin kopyalarını oluşturur.NumPy'de kopyalar oluşturmadan çok boyutlu bir dizinin eksenleri nasıl düzleştirilir?
10
A
cevap
12
ravel
o:
>>> a = numpy.arange(25).reshape((5, 5))
>>> b = a.ravel()
>>> b[0] = 55
>>> a
array([[55, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
ya reshape
o:
>>> a = numpy.arange(27).reshape((3, 3, 3))
>>> b = a.reshape((9, 3))
>>> b[0] = 55
>>> a
array([[[55, 55, 55],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
Çoğu durumda, bu her ikisi bir kopyası daha özgün dizi bir görünümü döndürür. Eğer girdi dizisinin şeklini bilmiyorsanız
7
:
images.reshape((images.shape[0], -1))
-1
kalan boyutlarını çalışmak için yeniden şekillendirmek söyler. Bu, görüntülerin ilk eksenini düzleştirmek istediğinizi varsayar.
İlgili konular
- 1. Çok boyutlu dizinin Java serileştirmesi
- 2. Çok boyutlu dizinin doğrusal simülasyonu
- 3. Javascript'te çok boyutlu bir dizinin karıştırılması açıldı
- 4. C# Çok boyutlu dizinin türünü edinin
- 5. Python: PyTables'ta çok boyutlu çok boyutlu bir dizinin saklanması nasıl yapılır?
- 6. Çok boyutlu bir dizinin en iç dizi anahtarlarını nasıl algılayabilirim?
- 7. Çok boyutlu bir dizinin satırlarını ve sütunlarını nasıl yineliyorum?
- 8. Yuvalanmış bir tuple nasıl düzleştirilir?
- 9. Çok boyutlu bir dizide nasıl kullanılır?
- 10. Çıkarma eksenleri
- 11. Çok dilli bir dizinin içinden geçerek Handlebars.js
- 12. çok boyutlu
- 13. C: İki boyutlu dizinin boyutu
- 14. iki boyutlu bir dizinin değerlerini karşılaştırın ve
- 15. Harita çok boyutlu dizinin her öğesinde mi kullanılıyor?
- 16. Çok Boyutlu İlişkilendirme Dizisi (PHP)
- 17. Çok boyutlu dizi oluşturma algoritması
- 18. RDD içinde liste nasıl düzleştirilir?
- 19. Hızlı bir şekilde çok boyutlu dizi nasıl oluşturulur?
- 20. Tensorflow çok boyutlu argmax
- 21. array_diff() çok boyutlu dizilerle
- 22. Çok boyutlu dizide değeri bul
- 23. Java çok boyutlu dizi
- 24. Çok Boyutlu Denetimler Dizisi
- 25. Çok boyutlu dizileri C
- 26. JavaScript çok boyutlu dizi
- 27. Çok boyutlu NSArray nesnesi
- 28. çok boyutlu diziden
- 29. Python'da çok boyutlu sözlük
- 30. Çoklu y eksenleri nasıl çizilir?
Teşekkür ederiz! 'yeniden şekillendir' benim için hile yaptı. 2D matrislerim ve vektörlerim arasındaki bire bir haritalamayı kırmadan önce düşündüm. Ama hayır, işe yaradı! –