हल: अक्ष के साथ NumPy पैकबिट्स कोड पैक्ड सरणी 1

NumPy, Python में एक शक्तिशाली लाइब्रेरी है जिसका व्यापक रूप से सरणी और मैट्रिक्स डेटा संरचनाओं में संख्यात्मक गणनाओं के लिए उपयोग किया जाता है। इसके द्वारा प्रदान किए जाने वाले कई कार्यों में से एक है पैकबिट्स, जो आपको निर्दिष्ट अक्ष के साथ बाइनरी डेटा को कुशलतापूर्वक एन्कोड करने की अनुमति देता है। इस लेख में, हम अक्ष 1 के साथ NumPy के पैकबिट्स फ़ंक्शन के उपयोग का पता लगाएंगे और इसकी तकनीकों और अनुप्रयोगों पर चर्चा करेंगे। साथ ही, हम संबंधित पुस्तकालयों और कार्यात्मकताओं में भी तल्लीन होंगे।

NumPy के पैकबिट्स फंक्शन को समझना

RSI पैकबिट्स 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. सबसे पहले, हम "np" उपनाम के साथ NumPy लाइब्रेरी आयात करते हैं:

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 सरणी होगा जिसमें पैक्ड बाइनरी डेटा होगा:

[[179 241]
[137 17]]

इसका मतलब यह है कि मूल बाइनरी डेटा को निर्दिष्ट अक्ष के साथ कुशलता से पैक किया गया है, जिससे कम मेमोरी उपयोग और बेहतर प्रदर्शन की अनुमति मिलती है।

संबंधित पुस्तकालयों में समान कार्य

पैकबिट्स के अलावा, ऐसे अन्य फ़ंक्शन और लाइब्रेरी भी हैं जो समान कार्यात्मकता प्रदान करते हैं। कुछ उदाहरणों में शामिल हैं:

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

RSI बिन्यासी पुस्तकालय पायथन के मानक पुस्तकालय का हिस्सा है और बाइनरी और विभिन्न एएससीआईआई-एन्कोडेड बाइनरी अभ्यावेदन के बीच परिवर्तित करने के तरीके प्रदान करता है। इसके द्वारा प्रदान किए जाने वाले कार्यों में से एक है हेक्लाइज़ करना, जिसका उपयोग बाइनरी डेटा को हेक्साडेसिमल स्ट्रिंग प्रतिनिधित्व में बदलने के लिए किया जा सकता है।

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 का पैकबिट्स फ़ंक्शन एक निर्दिष्ट अक्ष के साथ बाइनरी डेटा को एन्कोड करने के लिए एक मूल्यवान टूल है, अंततः आपके कोड को अधिक कुशल और मेमोरी को सहेजता है। इसके अतिरिक्त, अन्य पुस्तकालय और कार्यात्मकताएं हैं, जैसे कि बिनससी लाइब्रेरी और बिटर्रे लाइब्रेरी, जो आपको बाइनरी डेटा के साथ काम करने में भी सहायता कर सकती हैं।

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

एक टिप्पणी छोड़ दो