से प्रत्येक पंक्ति में विशिष्ट कॉलम का चयन करना मैं एक numpy सरणी की प्रत्येक पंक्ति के लिए विशिष्ट कॉलम तत्वों का चयन करने का प्रयास कर रहा हूं। उदाहरण के लिए, निम्न उदाहरण में:सरणी
In [1]: a = np.random.random((3,2))
Out[1]:
array([[ 0.75670668, 0.1283942 ],
[ 0.51326555, 0.59378083],
[ 0.03219789, 0.53612603]])
मैं पहली पंक्ति के पहले तत्व, दूसरी पंक्ति का दूसरा तत्व है, और तीसरी पंक्ति के पहले तत्व का चयन करना चाहते हैं। तो मैं निम्नलिखित करने की कोशिश की:
In [2]: b = np.array([0,1,0])
In [3]: a[:,b]
लेकिन इस निम्नलिखित उत्पादन का उत्पादन:
Out[3]:
array([[ 0.75670668, 0.1283942 , 0.75670668],
[ 0.51326555, 0.59378083, 0.51326555],
[ 0.03219789, 0.53612603, 0.03219789]])
जो स्पष्ट रूप से मैं क्या देख रहा हूँ नहीं है। क्या लूप का उपयोग किए बिना मैं क्या करना चाहता हूं?
दरअसल। * स्लाइसिंग * दिए गए अक्ष को संरक्षित करता है जबकि आप दोनों आयामों के साथ जो चाहते थे उसे दस्तावेज में * फैंसी इंडेक्सिंग * कहा जाता है। – dwf
दाएं। उदाहरण के लिए, 'एक [0: 2,0: 2] 'और' एक [[0,1], [0,1]]' अलग-अलग चीजें लौटाएं। –