Ben numpy delete numpy kullanmak için yeni bir kullanıcı yaşıyorum, burada yatay satır silmek için eksen = 0 kullanmanız gerektiğini, ancak glossary numpy diğer belgelerinde, yatay diyor ki eksen 1'dir. Birisi benim anlayışımda neyin yanlış olduğunu bilmeme izin verirse harika olur.Nümerik dizide eksen değeri nasıl seçilir
cevap
Sağladığınız bağlantılardan, burada bazı karışıklıklara ve aşağıdaki açıklamalara neden olan delete ve glossary numaralı alıntılardan alıntılar alabilirsiniz.
- alıntı
>>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) >>> arr array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) >>> np.delete(arr, 1, 0) array([[ 1, 2, 3, 4], [ 9, 10, 11, 12]])
ilk olarak aşağı doğru dikey olarak uzanan Acros
alıntı s satır (eksen 0), ve ikinci sütun boyunca yatay (eksen 1)
I karışıklık kelime ikinci alıntıda dikey ve yatay türemiştir düşünüyorum. İkinci alıntı aracının anlamı, axis
ayarı ile, hangi boyutun hareket edeceğine karar vermektir. Örneğin, 2d'lik bir matriste, axis=0
satırların üzerinde yinelemeye karşılık gelir (böylece dizinin üzerine dikey olarak hareket eder), axis=1
ise sütunları yinelemeye karşılık gelir (böylece dizinin üzerinde yatay olarak hareket eder). axis=1
, OP'nin anladığı gibi yatay eksene karşılık geldiği anlamına gelmez.
delete
fonksiyon satırların üzerine np.delete(arr, 1, axis=0)
, fonksiyon dolaşır kullanarak, hem gerçekten de yukarıdaki açıklamayı takip ve yerine, kolonlar sonra axis=1
, silinmesi gerektiğini olursa endeksi 1. bulunduğu satırı siler. Örneğin, aynı dizinin delete
sütun üzerinde dolaşır ve endeks 0 ile sütun, 1 silinir, ve başka bir şey yoktur indeksi 4 sütunu olarak silindiği arr
>>> np.delete(arr, [0,1,4], axis=1)
array([[ 3, 4],
[ 7, 8],
[11, 12]])
ile.
Bir dizi, herhangi bir boyutluluğun ızgaralarındaki sayıları sistematik bir şekilde yapılandırmaktır. Izgara yönleri etiketlere sahiptir ve bu etiketler yeni boyutların bir kılavuza nasıl eklendiğine dair bir sözleşmeden gelmektedir.
Burada kongre verilmiştir:
basit bu ızgara no axes
sahiptir ve yalnızca bir skaler tutabilecek bir 0-boyutlu (0D) dizidir. Biz bir liste halinde skalarlar koyarak başlatırsanız
42
biz 1D dizi olsun: Bu 0D dizidir.Bu yeni ızgara sadece bir eksene sahiptir ve eğer bu ekseni bir sayı ile etiketlemek istiyorsak, basit bir şeyle daha iyi başlarız - axis=0
! Bir 1D dizi olabilir:
# ----0--->
[42, π, √2]
Şimdi bize bir 2D dizi verecektir 1D diziler içeren bir dizi oluşturmak istiyoruz. Yatay eksen hala 0 olacaktır, ancak yeni dikey eksen bildiğimiz bir sonraki en düşük sayıyı alacaktır, axis=1
. İşte nasıl görünebilir:
# ----0---->
[[42, π, √2], # |
[1, 2, 3], # 1
[10, 20, 30]] # V
Gerçek güzellik, bu, sonsuzluğa doğru genellenmesidir. Bir kutu sayısına ihtiyacımız varsa, 2D dizileri istifleyerek bir 3B dizi oluşturabiliriz ve kutunun derinliğini izleyen yön doğal olarak axis=2
olmalıdır. Bir 4D dizisi istediğimizde, kutuların bir listesini (3D dizileri) yapardık ve axis=3
boyunca bir dizin kullanarak her kutuyu arardık. Bu sonsuza kadar devam edebilir.
:
bir axis
-argument alır herhangi bir fonksiyon/metot, bu kuralı kullanır. Bir 2B dizi için bu, satır 1, 2 ve 3 olmadan dönmek için 012. ekseninde ekstrüde edilmiş diziler üzerinde np.delete(X, [1, 2, 3], axis=0)
gibi bir şey yapmanın yineleneceği anlamına gelir. Aynı mantık, bir diziden değerler almak için de geçerlidir.
X[rows_along_0th_axis, columns_along_1st_axis, ..., vectors_along_nth_axis]
Güzel! Bununla birlikte, yazım, uyuşmazlık üzerinde kafa karıştırıcı olabileceğinden açıklığa kavuşturulmalıdır. Gözden geçirilmek için 2 puan gerekiyor. İlk kongre hakkında: 'eksen = 0 'sütunların üzerinde yinelemeye karşılık gelen tek durum, dizi tek bir liste olduğunda (örn.' Np.array ([1,2,3,4]) '). Genel olarak, 'eksen 'yinelemek için gerçek boyuta karşılık gelir. Ör., 'Axis = 0', sütunlar üzerinde' axis = 1' iken satırların üzerinde yineleme yapılmasına izin verir. Bir matrisin şekli '(num_rows, num_cols)' dır. İkincisi, "numpy" dizisine erişimdir: matris satırları üzerinden indices_axis_0 ve sütunlar indices_axis_1 ile erişilebilir. – albertoql
Yorumunuz için teşekkürler! Haklısın. "İkincisi, numpy dizisine erişimdir: bir matris satırı üzerinden indices_axis_0 ve sütunlar indices_axis_1 ile erişilebilir." –
'X [index_on_1st_axis, index_on_0th_axis]' ı tanımladığınız kuralı doğru olsa da, 'axis' ifadesinin numpy'ye bakarak tersine, yani 'X [index_on_0th_axis, index_on_1st_axis] 'olmalıdır. Aslında örneğin np.array ([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) 'i, şeklini alır (3,4) 0 ekseninde maksimum indeks 2 (satır) ve eksen 1 üzerinde maksimum indeks 3 (sütun). Bu açıklama benim yorumumdaki ilk noktadan kaynaklanıyor. – albertoql
- 1. Nümerik bir dizide her nth girişi örnekleme
- 2. Girdi değeri nasıl seçilir?
- 3. Çok boyutlu dizide değeri bul
- 4. Çok boyutlu dizide arama değeri
- 5. SQLite'de büyük harf değeri nasıl seçilir?
- 6. Boş değer nasıl seçilir?
- 7. PHP'de ilişkilendirilebilir bir dizide belirli anahtarın değeri nasıl güncellenir?
- 8. Ext Js'de combobox'ın ilk değeri nasıl seçilir (gösterilsin)?
- 9. XQuery'deki bir düğümün özellik değeri nasıl seçilir? Aşağıdaki XML'de
- 10. Matplotlib'de eksen nasıl değiştirilir?
- 11. wFPY'nin VFP'de Nümerik Klavye
- 12. Dizide
- 13. Sayısal dizide en yüksek değeri içeren satır veya sütunu bulma
- 14. Nümerik dikey bir garip nasıl yaratılır?
- 15. Dizide bir dizide transpoze dizisi
- 16. Nümerik olmayan rasgele sayı sayıları
- 17. Nümerik skaler türleri alt sınıflandırma
- 18. Kılavuzdaki satır nasıl seçilir?
- 19. İki sütun nasıl seçilir?
- 20. Polimerde tabloları nasıl seçilir?
- 21. Menü düğmesi nasıl seçilir?
- 22. Radyo Düğmesi nasıl seçilir?
- 23. Girdiye tıklandığında açılan değer nasıl seçilir?
- 24. R'de eksen sınırları nasıl sorgulanır?
- 25. array_search_recursive() .. değeri çok boyutlu dizide nerede bulunduğumu bulmama yardım et
- 26. C++, iki katlık bir dizide maksimum değeri bulmak için işlev?
- 27. % w [] shorthand kullanarak bir dizide sıfır değeri oluşturmak mümkün mü?
- 28. NumPy dizisinden öğeler sıralı olarak nasıl seçilir?
- 29. Rbind()/cbind() dönüşümü nümerik değerden
- 30. D3: Dizide
Net ve doğrudan. Güzel. – Reti43