Sunday, 15 June 2014

python - What is the best way to reshape and/or slice this array to create the desired pairs of items using NumPy? -


मान लें कि मेरे पास दो "रिकॉर्ड्स" हैं जैसे कि निम्न:

  loaded_data = np .रेंज (58) loaded_data = np.vstack ((loaded_data, loaded_data))  

आउटपुट:

[[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ]
[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57]]

मैं डेटा को नयी आकृति देना या टुकड़ा कैसे करूँगा जैसे कि मैं एक नया सरणी जो बिना निम्नलिखित की तरह दिखेगा के माध्यम से पुनरावृति करने के लिए ?: [[0 0] [1 1] [2 2] ... [57 57]]

मैं फिर से नयी आकृति प्रदान करने के बाद जोड़े को अलग-अलग खींच सकता हूं:

  reshaped = loaded_data.reshape ((2,29, 2)) प्रिंट (reshaped [:, 0,0])  < / वरीयता <सूची> <0> 

क्या मेरी वांछित सूची सूची पर पुनरावृति किए बिना टुकड़ों के टुकड़े का उपयोग करने का एक तरीका है? यदि नहीं, तो आप इसे सबसे पायथनिक तरीके से कैसे पूरा करेंगे?

इस स्थिति में, मैं numpy.column_stack का उपयोग करता हूं:

  & gt; & gt; & gt; Loaded_data = np.arange (5)> gt; & gt; & gt; Np.column_stack ((loaded_data, loaded_data)) सरणी ([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]])  

यदि आप वास्तव में vstack (जैसे कि स्टैकिंग कमांड एक नियमित रूप से है जिसे आप बदलना नहीं चाहते हैं) के साथ अटक गए हैं, तो आप बस स्थानांतरित कर सकते हैं (की संपत्ति का उपयोग करके) Numpy arrays या:

  & gt; & gt; np.vstack ((loaded_data, loaded_data)) टी अरै ([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]])  

No comments:

Post a Comment