सोडवले: NumPy पॅकबिट्स कोड पॅक केलेला अॅरे अक्ष 1 वर

NumPy ही Python मधील एक शक्तिशाली लायब्ररी आहे जी अॅरे आणि मॅट्रिक्स डेटा स्ट्रक्चर्समधील संख्यात्मक गणनेसाठी मोठ्या प्रमाणावर वापरली जाते. ते ऑफर करत असलेल्या अनेक फंक्शन्सपैकी एक आहे पॅकबिट्स, जे तुम्हाला बायनरी डेटा एका निर्दिष्ट अक्षावर कार्यक्षमतेने एन्कोड करण्यास अनुमती देते. या लेखात, आम्ही अक्ष 1 सह NumPy च्या पॅकबिट्स फंक्शनच्या वापराचे अन्वेषण करू आणि त्याच्या तंत्र आणि अनुप्रयोगांवर चर्चा करू. वाटेत, आम्ही संबंधित लायब्ररी आणि कार्यक्षमता देखील शोधू.

NumPy चे पॅकबिट्स फंक्शन समजून घेणे

अगोदर निर्देश केलेल्या बाबीसंबंधी बोलताना पॅकबिट्स NumPy मधील फंक्शन हे बिट्सचे गट एकत्र पॅक करून बायनरी डेटा कॉम्प्रेस करण्यासाठी डिझाइन केलेले टूल आहे. बायनरी डेटाच्या मोठ्या संचांसह कार्य करताना हे विशेषतः उपयुक्त आहे, कारण ते मेमरी वापर मोठ्या प्रमाणात कमी करू शकते आणि आपल्या कोडची कार्यक्षमता सुधारू शकते. हे फंक्शन निर्दिष्ट अक्षावर चालते, जे आपल्याला बिट्स पॅक केलेल्या दिशेने नियंत्रित करण्यास अनुमती देते.

import numpy as np

# Example binary data array
binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

packed_data = np.packbits(binary_data, axis=1)
print(packed_data)

वरील कोड अक्ष 1 वर बायनरी डेटा पॅक करण्यासाठी पॅकबिट्स फंक्शनचा वापर दर्शवितो. अक्ष 1 निर्दिष्ट करून, आम्ही NumPy ला इनपुट अॅरेच्या कॉलम्ससह बिट्स पॅक करण्याची सूचना देत आहोत.

कोडचे चरण-दर-चरण स्पष्टीकरण

1. प्रथम, आम्ही NumPy लायब्ररी उर्फ ​​"np" सह आयात करतो:

import numpy as np

2. पुढे, आम्ही एक उदाहरण 2D बायनरी डेटा अॅरे तयार करतो, जिथे प्रत्येक घटक 0 किंवा 1 असू शकतो:

binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

3. आम्ही नंतर अक्ष 1 वर बायनरी डेटा पॅक करण्यासाठी पॅकबिट्स फंक्शनला कॉल करतो:

packed_data = np.packbits(binary_data, axis=1)

4. शेवटी, आम्ही परिणामी पॅक केलेला डेटा अॅरे मुद्रित करतो:

print(packed_data)

या कोडचे आउटपुट पॅक केलेला बायनरी डेटा असलेला 2D अॅरे असेल:

[[१ ४]
[१३७ १७]]

याचा अर्थ असा की मूळ बायनरी डेटा निर्दिष्ट अक्षावर कार्यक्षमतेने पॅक केला गेला आहे, ज्यामुळे कमी मेमरी वापर आणि कार्यप्रदर्शन वाढू शकते.

संबंधित लायब्ररीमध्ये समान कार्ये

पॅकबिट्सच्या पलीकडे, इतर फंक्शन्स आणि लायब्ररी देखील आहेत जी समान कार्यक्षमता देतात. काही उदाहरणे समाविष्ट आहेत:

पायथनची बिल्ट-इन बिनास्की लायब्ररी

अगोदर निर्देश केलेल्या बाबीसंबंधी बोलताना binascii लायब्ररी पायथनच्या मानक लायब्ररीचा भाग आहे आणि बायनरी आणि विविध ASCII-एनकोडेड बायनरी प्रस्तुतीकरणांमध्ये रूपांतर करण्यासाठी पद्धती प्रदान करते. ते ऑफर केलेल्या फंक्शन्सपैकी एक आहे hexlify, ज्याचा उपयोग बायनरी डेटा हेक्साडेसिमल स्ट्रिंग प्रतिनिधित्वामध्ये रूपांतरित करण्यासाठी केला जाऊ शकतो.

import binascii

binary_data = b'x00x01x01x00'
hex_data = binascii.hexlify(binary_data)
print(hex_data)

या उदाहरणात, binascii.hexlify फंक्शन बायनरी डेटा असलेल्या बाइट ऑब्जेक्टला हेक्साडेसिमल स्ट्रिंग प्रस्तुतीकरणामध्ये रूपांतरित करण्यासाठी वापरले जाते.

बिटरे लायब्ररी

बायनरी डेटासह कार्य करण्यासाठी उपयुक्त ठरणारी दुसरी लायब्ररी आहे बिटरे लायब्ररी ही लायब्ररी एक कार्यक्षम बिट अॅरे डेटा स्ट्रक्चर प्रदान करते ज्याचा वापर मोठ्या बिट अनुक्रम हाताळण्यासाठी आणि संग्रहित करण्यासाठी केला जाऊ शकतो.

from bitarray import bitarray

binary_data = '01101111 10010001'
bit_array = bitarray(binary_data)
packed_data = bit_array.tobytes()
print(packed_data)

या उदाहरणात, आम्ही बायनरी स्ट्रिंगमधून एक बिटरे ऑब्जेक्ट तयार करतो आणि नंतर पॅक केलेला डेटा बाइट्स ऑब्जेक्ट म्हणून मिळविण्यासाठी टोबाइट्स पद्धत वापरतो.

शेवटी, NumPy चे पॅकबिट्स फंक्शन निर्दिष्ट अक्षावर बायनरी डेटा एन्कोडिंगसाठी एक मौल्यवान साधन आहे, शेवटी तुमचा कोड अधिक कार्यक्षम बनवते आणि मेमरी वाचवते. याव्यतिरिक्त, इतर लायब्ररी आणि कार्यक्षमता आहेत, जसे की binascii लायब्ररी आणि bitarray लायब्ररी, जे तुम्हाला बायनरी डेटासह कार्य करण्यास मदत करू शकतात.

संबंधित पोस्ट:

एक टिप्पणी द्या