में सूचियों की सूची मैं सूचियों की एक साधारण सूची को एक numpy सरणी में कैसे परिवर्तित करूं? पंक्तियों में व्यक्तिगत उपन्यास होते हैं और प्रत्येक पंक्ति में उपन्यास में तत्व होते हैं।numpy array
उत्तर
>>> numpy.array([[1, 2], [3, 4]])
array([[1, 2], [3, 4]])
यह रूप में आसान है के रूप में:
>>> lists = [[1, 2], [3, 4]]
>>> np.array(lists)
array([[1, 2],
[3, 4]])
सूचियों की अपनी सूची इग्नेसियो वेज़क्वेज़-अब्राम के जवाब से तत्वों से काम नहीं चलेगा की संख्या अलग-अलग सूचियों है।
1) सरणियों की एक सरणी बनाएँ::
x=[[1,2],[1,2,3],[1]]
y=numpy.array([numpy.array(xi) for xi in x])
type(y)
>>><type 'numpy.ndarray'>
type(y[0])
>>><type 'numpy.ndarray'>
2) सूचियों की एक सरणी बनाएँ:
x=[[1,2],[1,2,3],[1]]
y=numpy.array(x)
type(y)
>>><type 'numpy.ndarray'>
type(y[0])
>>><type 'list'>
3) सबसे पहले सूचियों लंबाई में बराबर इसके बजाय वहाँ 3 विकल्प हैं:
x=[[1,2],[1,2,3],[1]]
length = len(sorted(x,key=len, reverse=True)[0])
y=numpy.array([xi+[None]*(length-len(xi)) for xi in x])
y
>>>array([[1, 2, None],
>>> [1, 2, 3],
>>> [1, None, None]], dtype=object)
धन्यवाद, इसके लिए यहां आया था। थोड़ी देर के लिए numpy का उपयोग कर रहा है, और यह व्यवहार गैर-तुच्छ पाया। इस सामान्य मामले को समझाने के लिए समय निकालने के लिए धन्यवाद। –
इस उत्तर के लिए अंगूठे ऊपर! – alisa
यह एक Numpy सरणी में सूचियों की एक सूची परिवर्तित करने के लिए गूगल पर शीर्ष खोज है, मैं निम्नलिखित प्रदान करेंगे प्रश्न 4 वर्ष होने के बावजूद:
>>> x = [[1, 2], [1, 2, 3], [1]]
>>> y = numpy.hstack(x)
>>> print(y)
[1 2 1 2 3 1]
जब मैं पहली बार यह इस तरह से कर रही है के बारे में सोचा, मैं खुद के साथ काफी खुश था क्योंकि यह soooo आसान है। हालांकि, सूचियों का एक बड़ा सूची के साथ यह समय के बाद, यह वास्तव में यह करने के लिए तेजी से होता है:
>>> y = numpy.concatenate([numpy.array(i) for i in x])
>>> print(y)
[1 2 1 2 3 1]
ध्यान दें कि @ Bastiaan के जवाब # 1 एक सतत सूची नहीं है, इसलिए मैं concatenate
गयी।
वैसे भी ... मैं hstack
दृष्टिकोण को नम्पी के सुरुचिपूर्ण उपयोग के लिए पसंद करता हूं।
फिर, एक एन आयामी सरणी में एन के स्तर के साथ नीडिंत सूचियों परिवर्तित करने की समस्या के लिए खोज करने के बाद मैं कुछ भी नहीं मिला है, तो यहां मेरे रास्ते उसके चारों ओर है:
import numpy as np
new_array=np.array([[[coord for coord in xk] for xk in xj] for xj in xi], ndmin=3) #this case for N=3
- 1. numpy array
- 2. numpy array
- 3. numpy array
- 4. numpy array
- 5. 2 डी numpy array
- 6. पायथन, numpy sort array
- 7. एक numpy array
- 8. एक numpy array
- 9. 3 डी numpy array
- 10. एक numpy array
- 11. एक numpy array
- 12. numpy object_ array
- 13. 2 डी numpy array
- 14. Numpy Rec Array
- 15. Flatten numpy array
- 16. Flatten OpenCV/Numpy Array
- 17. ओपनसीवी थ्रेसहोल्ड को एक numpy array
- 18. पायपीनग्ल बफर गतिशील पढ़ने से numpy array
- 19. पायथन टिल्ड यूनरी ऑपरेटर अस्वीकरण numpy bool array
- 20. numpy array तत्वों की श्रृंखला की स्वरूपित स्ट्रिंग
- 21. केवल उन मानों को प्राप्त करना जो एक numpy array
- 22. numpy
- 23. numpy
- 24. numpy
- 25. NumPy
- 26. numpy
- 27. KeyValuePair Array
- 28. int [] array
- 29. php array
- 30. jagged array
आरईपीएल कोई उल्लेखनीय शुरुआत सवाल पर नीचे काटने का मतलब । –
यह स्वचालित रूप से 2 डी सरणी में सूची की एक सूची को रूपांतरित करता है क्योंकि सभी शामिल सूचियों की लंबाई समान होती है। क्या आप जानते हैं कि ऐसा नहीं करना है: सूची की सरणी बनाएं, भले ही सभी सूचियों की लंबाई समान हो? या 1 डी सरणी के 1 डी सरणी में एक 2 डी सरणी को परिवर्तित करना संभव है (कुशलता से मेरा मतलब है, कोई पुनरावृत्ति विधि या पायथन नक्शा सामग्री नहीं) –
यदि यह आपके लिए काम नहीं करता है क्योंकि आपके उपन्यास भी आकार के नहीं हैं, तो देखें [ निम्नलिखित उत्तर] (http://stackoverflow.com/a/26224619/1449460)। –