NumPy 1.14 - numpy.lib.Arrayterator()

numpy.lib.Arrayterator




numpy

numpy.lib.Arrayterator

class numpy.lib.Arrayterator(var, buf_size=None) [source]

बड़े सरणियों के लिए बफर इटेरर।

Arrayterator ब्लॉकों में बड़े सरणियों को पढ़ने के लिए एक बफर Arrayterator बनाता है। फ़ाइल सिस्टम में संग्रहीत वस्तुओं के लिए वर्ग उपयोगी है। यह स्मृति में सब कुछ पढ़ने के बिना वस्तु पर पुनरावृत्ति की अनुमति देता है; इसके बजाय, छोटे ब्लॉक पढ़े जाते हैं और इससे अधिक पुनरावृत्त होते हैं।

Arrayterator का उपयोग किसी भी ऑब्जेक्ट के साथ किया जा सकता है जो बहुआयामी स्लाइस का समर्थन करता है। इसमें NumPy सरणियाँ शामिल हैं, लेकिन उदाहरण के लिए Scientific.IO.NetCDF या pynetcdf से चर भी।

पैरामीटर:

var : array_like

इस पर चलने की वस्तु।

buf_size : int, वैकल्पिक

बफर आकार। यदि buf_size को आपूर्ति की जाती है, तो मेमोरी में पढ़ने वाले डेटा की अधिकतम मात्रा buf_size तत्व है। डिफ़ॉल्ट कोई भी नहीं है, जो स्मृति में यथासंभव अधिक से अधिक तत्व पढ़ेगा।

यह भी देखें

ndenumerate
बहुआयामी सरणी पुनरावृति।
flatiter
सपाट सरणी पुनरावृत्त।
memmap
डिस्क पर बाइनरी फ़ाइल में संग्रहीत सरणी में मेमोरी-मैप बनाएं।

टिप्पणियाँ

एल्गोरिथ्म पहले "रनिंग डाइमेंशन" ढूंढकर काम करता है, जिसके साथ ब्लॉक निकाले जाएंगे। आयामों की एक सरणी (d1, d2, ..., dn) को देखते हुए, उदाहरण के लिए यदि buf_size d1 से छोटा है, तो पहले आयाम का उपयोग किया जाएगा। यदि, दूसरी ओर, d1 < buf_size < d1*d2 दूसरे आयाम का उपयोग किया जाएगा, और इसी तरह। इस आयाम के साथ ब्लॉक निकाले जाते हैं, और जब आखिरी ब्लॉक वापस किया जाता है तो प्रक्रिया अगले आयाम से जारी रहती है, जब तक कि सभी तत्वों को पढ़ा नहीं गया है।

उदाहरण

>>> a = np.arange(3 * 4 * 5 * 6).reshape(3, 4, 5, 6)
>>> a_itor = np.lib.Arrayterator(a, 2)
>>> a_itor.shape
(3, 4, 5, 6)

अब हम a_itor पर iterate कर सकते हैं, और यह आकार दो के सरणियों को लौटाएगा। चूंकि buf_size किसी भी आयाम से छोटा था, पहला आयाम पहले से अधिक पुनरावृत्त होगा:

>>> for subarr in a_itor:
...     if not subarr.all():
...         print(subarr, subarr.shape)
...
[[[[0 1]]]] (1, 1, 1, 2)

गुण

shape सरणी का आकार इससे अधिक पुनरावृत्त होना।
flat 1-डी फ्लैट इटरेटर जो आर्टरेटर ऑब्जेक्ट्स के लिए है।
वर
buf_size
शुरु
रुकें
कदम