NumPy dizisini bir Python Listesine (örneğin [[1,2,3],[4,5,6]]
) nasıl dönüştürebilirim?NumPy dizisini Python List yapısına dönüştürme?
156
A
cevap
236
kullanın tolist()
: Bu onlar ne olursa olsun numpy tipi değerleri dönüştürür olduğunu
import numpy as np
>>> np.array([[1,2,3],[4,5,6]]).tolist()
[[1, 2, 3], [4, 5, 6]]
Not (örn np.int32 veya np.float32) (listede) "en yakın uyumlu Python türü" . Sayısal veri türlerini korumak istiyorsanız, dizininizde liste() öğesini çağırabilirsiniz ve bir numpy scalars listesiyle sonuçlanırsınız. (Yorumunda işaret için Mr_and_Mrs_D teşekkürler.)
37
NumPy diziler var bir tolist method:
In [1]: arr=np.array([[1,2,3],[4,5,6]])
In [2]: arr.tolist()
Out[2]: [[1, 2, 3], [4, 5, 6]]
3
numpy dizi şekil 2D ise numpy .tolist yöntemi iç içe diziler üretir. Düz listeler isteniyorsa aşağıdaki yöntem işe yararsa
.import numpy as np
from itertools import chain
a = [1,2,3,4,5,6,7,8,9]
print type(a), len(a), a
npa = np.asarray(a)
print type(npa), npa.shape, "\n", npa
npa = npa.reshape((3, 3))
print type(npa), npa.shape, "\n", npa
a = list(chain.from_iterable(npa))
print type(a), len(a), a`
İlgili konular
- 1. Bir NumPy dizisini PIL görüntüsüne dönüştürme
- 2. JSON dizisini Python listesine dönüştürme
- 3. 2d numpy dizisini listelerin listesine dönüştürün
- 4. Bayt dizisini bloğa dönüştürme
- 5. Byte dizisini ByteArrayOutputStream'e dönüştürme
- 6. Yapı dizisini matrise dönüştürme
- 7. 2d numpy dizisine 2d list nasıl dönüştürülür?
- 8. Python/Numpy
- 9. Python Numpy
- 10. python numpy
- 11. Cython - karakter dizisini char listesine dönüştürme **
- 12. Bir python kümesini numpy dizisine dönüştürme nasıl yapılır?
- 13. hashes dizisini csv dosyasına dönüştürme
- 14. dize dizisini bayt dizisine dönüştürme
- 15. Char dizisini unsigned char'e dönüştürme *
- 16. Dize dizisini java.util.List dosyasına dönüştürme
- 17. Numpy - 2B dizisini yeniden şekillendirin ve bölümlendirin
- 18. NumPy dizisi bir 4D dizisini indeksleme
- 19. ManagedCUDA içinde CUDA çıkış dizisini/yüzeyini GL yapısına bağlama
- 20. Karışık bir öğelerin xml dizisini bir go yapısına nasıl eşlenir?
- 21. Python Numpy nan_to_num yardım
- 22. Python numpy toplama hatası
- 23. Göm Python/Numpy/Matplotlib?
- 24. 3x32x32 boyutundaki numpy görüntü dizisini 32x32x3'e dönüştürme ve Python'daki gerçek görüntüye kaydetme
- 25. Python: kodlamak dize dönüştürme
- 26. NumPy Cı-API: dönüştürme türü nesne numaralı
- 27. Sayı dizisini ikili bir sayıya dönüştürme
- 28. Refactoring Ruby: Dize dizisini int dizisine dönüştürme
- 29. Ruby dizisini ardışık çiftler dizisine dönüştürme
- 30. Bayt dizisini C dizgisine dönüştürme C#
Eğer listeniz float32 'tolist 'ise' floats '- dönüştürecekse, bu muhtemelen istenmez. 'List (myarray) 'ın kullanılması bundan muzdarip değildir - neden' listeyi 'tercih etmeliyiz? –
@Mr_and_Mrs_D, dizininizde yüzdürme olmasına rağmen, sonuç listesinin tam sayılara sahip olmasını ister misiniz? Bu tamamen farklı bir soru ... ve elbette float32 değerlerine rağmen, hepsi ayrılmaz olacaklarını belirtmelisiniz. Her neyse, eğer bu duruma sahip olsaydınız, sanırım 'myarray.astype (np.int32) .tolist()' i yapmak bir seçenek olur ve başarmaya çalıştığınız şey hakkında açık olur. (Ve son olarak, 'list (array_of_type_float32) 'ben denediğimde burada tamsayı vermez ... bu yüzden ne sorduğunuzu bilmiyorum.) –
Ben tamsayılardan bahsetmedim - denemek float32_array = np.array ([0.51764709], np.float32); baskı (float32_array.tolist()); print (list (float32_array)) ' –