NumPy ऐरे इटरेटिंग
इटरेटिंग एरेज़
इटरेटिंग का अर्थ है एक-एक करके तत्वों से गुजरना।
जैसा कि हम बहु-आयामी सरणियों से निपटते हैं, हम इसे
for
पायथन के मूल लूप का उपयोग करके कर सकते हैं।
यदि हम 1-डी सरणी पर पुनरावृति करते हैं तो यह एक-एक करके प्रत्येक तत्व से गुजरेगा।
उदाहरण
निम्नलिखित 1-डी सरणी के तत्वों पर पुनरावृति करें:
import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
print(x)
2-डी सरणी को पुनरावृत्त करना
2-डी सरणी में यह सभी पंक्तियों से गुजरेगा।
उदाहरण
निम्नलिखित 2-डी सरणी के तत्वों पर पुनरावृति करें:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x
in arr:
print(x)
यदि हम n -D सरणी पर पुनरावृति करते हैं तो यह एक-एक करके n-1वें आयाम से गुजरेगा।
वास्तविक मान, अदिश को वापस करने के लिए, हमें प्रत्येक आयाम में सरणियों को पुनरावृत्त करना होगा।
उदाहरण
2-डी सरणी के प्रत्येक अदिश तत्व पर पुनरावृति:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x
in arr:
for y in x:
print(y)
इटरेटिंग 3-डी एरेज़
3-डी सरणी में यह सभी 2-डी सरणी के माध्यम से जाएगा।
उदाहरण
निम्नलिखित 3-डी सरणी के तत्वों पर पुनरावृति करें:
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9],
[10, 11, 12]]])
for x
in arr:
print(x)
वास्तविक मान, अदिश को वापस करने के लिए, हमें प्रत्येक आयाम में सरणियों को पुनरावृत्त करना होगा।
उदाहरण
अदिश को पुनरावृत्त करें:
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9],
[10, 11, 12]]])
for x
in arr:
for y in x:
for z in y:
print(z)
nditer का उपयोग करके पुनरावृत्त सरणी ()
फ़ंक्शन nditer()
एक सहायक फ़ंक्शन है जिसका उपयोग बहुत ही बुनियादी से लेकर बहुत उन्नत पुनरावृत्तियों तक किया जा सकता है। यह कुछ बुनियादी मुद्दों को हल करता है जिनका हम पुनरावृति में सामना करते हैं, आइए उदाहरणों के साथ इसे देखें।
प्रत्येक अदिश तत्व पर पुनरावृति
मूल for
लूप में, एक सरणी के प्रत्येक स्केलर के माध्यम से पुनरावृत्ति करते हुए हमें
n
for
लूप का उपयोग करने की आवश्यकता होती है जो बहुत उच्च आयामीता वाले सरणी के लिए लिखना मुश्किल हो सकता है।
उदाहरण
निम्नलिखित 3-डी सरणी के माध्यम से पुनरावृति करें:
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
print(x)
विभिन्न डेटा प्रकारों के साथ इटरेटिंग ऐरे
हम op_dtypes
तर्क का उपयोग कर सकते हैं और इसे पुनरावृत्त करते समय तत्वों के डेटाटाइप को बदलने के लिए अपेक्षित डेटाटाइप पास कर सकते हैं।
NumPy तत्व के डेटा प्रकार को इन-प्लेस (जहां तत्व सरणी में है) नहीं बदलता है, इसलिए इसे इस क्रिया को करने के लिए कुछ अन्य स्थान की आवश्यकता होती है, उस अतिरिक्त स्थान को बफर कहा जाता है, और इसे सक्षम करने के लिए nditer()
हम पास करते हैं flags=['buffered']
।
उदाहरण
एक स्ट्रिंग के रूप में सरणी के माध्यम से पुनरावृति:
import numpy as np
arr = np.array([1, 2, 3])
for x in
np.nditer(arr, flags=['buffered'], op_dtypes=['S']):
print(x)
विभिन्न चरण आकार के साथ पुनरावृति
हम फ़िल्टरिंग और उसके बाद पुनरावृत्ति का उपयोग कर सकते हैं।
उदाहरण
1 तत्व को छोड़कर 2D सरणी के प्रत्येक अदिश तत्व के माध्यम से पुनरावृति करें:
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for x in np.nditer(arr[:, ::2]):
print(x)
एनडेन्यूमेरेट का उपयोग करके प्रगणित पुनरावृत्ति ()
एन्यूमरेशन का अर्थ है एक-एक करके किसी चीज़ की क्रम संख्या का उल्लेख करना।
कभी-कभी हमें पुनरावृति करते समय तत्व के संबंधित सूचकांक की आवश्यकता होती है, इस ndenumerate()
विधि का उपयोग उन उपयोग के मामलों के लिए किया जा सकता है।
उदाहरण
निम्नलिखित 1D सरणियों के तत्वों की गणना करें:
import numpy as np
arr = np.array([1, 2, 3])
for idx, x in
np.ndenumerate(arr):
print(idx, x)
उदाहरण
निम्नलिखित 2D सरणी के तत्वों की गणना करें:
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for idx, x in np.ndenumerate(arr):
print(idx, x)