2013-01-04 10 views
8

मैं एक NumPy सरणी है कि इस तरह दिखता है का उपयोग कर पाने के लिए:कैसे एक NumPy सरणी से मानों कई सूचकांकों

arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12] 

मैं कैसे सूचकांक द्वारा इस सरणी से एक से अधिक मान प्राप्त कर सकते हैं:

उदाहरण के लिए , मैं सूचकांक पदों 1, 4, और 5 में मूल्य कैसे प्राप्त कर सकता हूं?

मैं कुछ इस तरह की कोशिश कर रहा था, जो गलत है:

arr[1, 4, 5] 
+0

में विनिर्दिष्ट क्या इसके लायक है के लिए np.take उपयोग करने के लिए है, क्या आप का प्रयास किया है कि कैसे आप numpy में बहु-आयामी अनुक्रमण करते हैं। – Iguananaut

+1

इसके अलावा, इसके लायक होने के लिए, आप * एक numpy सरणी नहीं है। आपके पास एक सूची है (जिसे आसानी से एक numpy सरणी में परिवर्तित किया जा सकता है)। – mgilson

उत्तर

25

इस तरह का प्रयास करें:

>>> arr = np.array([100.10, 200.42, 4.14, 89.00, 34.55, 1.12]) 
>>> arr[[1,4,5]] 
array([ 200.42, 34.55, 1.12]) 

और बहुआयामी सरणियों के लिए:

>>> arr = np.arange(9).reshape(3,3) 
>>> arr 
array([[0, 1, 2], 
     [3, 4, 5], 
     [6, 7, 8]]) 
>>> arr[[0, 1, 1], [1, 0, 2]] 
array([1, 3, 5]) 
+0

महान दिमाग एक जैसे सोचते हैं: पी –

+0

क्या सूचकांक 2 डी हैं? क्या इंडेक्स के रूप में 2 डी सरणी का उपयोग करके 2 डी सरणी को इंडेक्स करना संभव है? – dashesy

4

तुम पास

थे
>>> print arr[[1,4,5]] 
[ 200.42 34.55 1.12] 
संबंधित मुद्दे