Table of Contents
Toggleविभाजन जोड़ने की विपरीत क्रिया है। जबकि जोड़ने से कई एरेस को एक में मिलाया जाता है, विभाजन एकल एरे को कई हिस्सों में विभाजित करता है। NumPy में, हम `array_split()` विधि का उपयोग करके एरेस को विभाजित करते हैं। आप `split()` विधि का भी उपयोग कर सकते हैं, लेकिन जब एरे के तत्व समान रूप से विभाजित नहीं हो सकते, तो इसकी सीमाएँ होती हैं।
`array_split()` विधि का उपयोग करके आप एक 1-D एरे को कई हिस्सों में विभाजित कर सकते हैं। आप एरे और विभाजन की संख्या पास करते हैं। यदि तत्व समान रूप से विभाजित नहीं हो सकते, तो NumPy तत्वों को यथासंभव समान रूप से विभाजित करने के लिए समायोजन करेगा।
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
परिणाम 3 एरेस की एक सूची होगी। यदि एरे समान रूप से विभाजित नहीं किया जा सकता, तो NumPy विभाजन के बीच तत्वों का समायोजन करेगा।
यदि आप किसी एरे को अधिक हिस्सों में विभाजित करने का प्रयास करते हैं, जितना कि वह समान रूप से समायोजित कर सकता है, तो NumPy एरे को यथासंभव समान रूप से विभाजित करेगा और शेष तत्वों का समायोजन करेगा।
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
इस मामले में, NumPy अंतिम विभाजन को समायोजित करेगा ताकि एरे में कुल तत्वों को समायोजित किया जा सके।
एरे को विभाजित करने के बाद, आप परिणामस्वरूप उत्पन्न एरेस को सूची के तत्वों की तरह एक्सेस कर सकते हैं। नीचे एक उदाहरण दिया गया है, जो दिखाता है कि आप प्रत्येक विभाजित एरे तक कैसे पहुँच सकते हैं।
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
इस उदाहरण में, `array_split()` का परिणाम विभाजित एरेस की एक सूची है, और हम प्रत्येक को इंडेक्स नोटेशन का उपयोग करके एक्सेस करते हैं।
यही दृष्टिकोण 2-D एरेस के लिए भी काम करता है। आप एरेस को पंक्तियों या कॉलमों के आधार पर विभाजित कर सकते हैं, बस आपको अक्ष (axis) निर्दिष्ट करना होता है। डिफ़ॉल्ट अक्ष 0 है (पंक्तियों के साथ), लेकिन आप इसे 1 (कॉलमों के साथ) बदल सकते हैं, ताकि एरे को क्षैतिज रूप से विभाजित किया जा सके।
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
इस उदाहरण में, 2-D एरे को 3 उप-एरेस में विभाजित किया गया है। प्रत्येक विभाजन में मूल एरे की कुछ पंक्तियाँ होती हैं।
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
यहाँ, एरे को तीन उप-एरेस में विभाजित किया गया है, प्रत्येक में 3 तत्व वाली पंक्तियाँ हैं।
आप यह भी निर्दिष्ट कर सकते हैं कि आप एरे को किस अक्ष के साथ विभाजित करना चाहते हैं। उदाहरण के लिए, यदि आप एरे को कॉलमों के साथ (अर्थात् क्षैतिज रूप से) विभाजित करना चाहते हैं, तो आपको `axis=1` का उपयोग करना होगा।
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
इस उदाहरण में, 2-D एरे को कॉलमों (क्षैतिज रूप से) में विभाजित किया गया है और 3 हिस्सों में बाँट दिया गया है।
कॉलमों के साथ विभाजित करने का एक अन्य तरीका `hsplit()` फ़ंक्शन का उपयोग करना है, जो `hstack()` की तरह काम करता है।
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
यहाँ, `hsplit()` फ़ंक्शन कॉलमों के साथ 2-D एरे को 3 उप-एरेस में विभाजित करता है।
