Table of Contents
Toggle**NumPy** में विभिन्न प्रकार के डेटा प्रकार होते हैं। ये डेटा प्रकार विशेष रूप से संख्यात्मक डेटा (जैसे integers, floats, आदि) के लिए उपयोगी होते हैं। Python में कुछ सामान्य डेटा प्रकार होते हैं, लेकिन NumPy में और भी अधिक डेटा प्रकार होते हैं जिन्हें हम विशिष्ट कार्यों के लिए उपयोग कर सकते हैं।
Python में निम्नलिखित डेटा प्रकार होते हैं:
NumPy में कुछ अतिरिक्त डेटा प्रकार होते हैं, जिन्हें एक अक्षर के द्वारा दर्शाया जाता है, जैसे i पूर्णांकों के लिए, u बिना साइन वाले पूर्णांकों के लिए, आदि। यहां पर कुछ प्रमुख NumPy डेटा प्रकार और उनके प्रतिनिधि अक्षरों की सूची दी गई है:
NumPy में array का डेटा प्रकार जानने के लिए dtype प्रॉपर्टी का उपयोग किया जाता है। यह प्रॉपर्टी उस array का डेटा प्रकार लौटाती है।
import numpy as np
arr = np.array([1, 2, 3, 4])
# Get the data type of the array
print(arr.dtype) # Output: int64
यहां arr एक array है जिसमें पूर्णांक (integers) हैं, और arr.dtype इसे int64 के रूप में प्रदर्शित करेगा।
arr = np.array(['apple', 'banana', 'cherry']) # Get the data type of the array with strings print(arr.dtype) # Output:यहां
arrमें strings हैं, औरarr.dtypeइसे <U6 के रूप में प्रदर्शित करेगा, जो दर्शाता है कि array में यूनीकोड स्ट्रिंग्स हैं जिनकी अधिकतम लंबाई 6 है।
**NumPy** का array() फ़ंक्शन आपको arrays बनाने की अनुमति देता है और इसमें एक वैकल्पिक तर्क dtype है, जिसका उपयोग आप array के तत्वों का डेटा प्रकार (data type) निर्धारित करने के लिए कर सकते हैं। डेटा प्रकार को निर्दिष्ट करने से आपको array के तत्वों के प्रकार को नियंत्रित करने में मदद मिलती है।
dtype का उपयोग करके हम array के तत्वों के डेटा प्रकार को नियंत्रित कर सकते हैं। यह आपको array के हर तत्व का प्रकार स्पष्ट रूप से परिभाषित करने में सक्षम बनाता है।
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr) # Output: [b'1' b'2' b'3' b'4']
print(arr.dtype) # Output: |S1
यहां dtype='S' के साथ हमने array को स्ट्रिंग प्रकार में परिवर्तित किया। इस प्रकार के array में हर तत्व अब एक बाइट स्ट्रिंग के रूप में होता है।
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr) # Output: [1 2 3 4]
print(arr.dtype) # Output: int32
dtype='i4' के साथ हम array के सभी तत्वों को 4-बाइट पूर्णांक के रूप में परिभाषित करते हैं। NumPy इसे int32 के रूप में प्रदर्शित करेगा क्योंकि आपके सिस्टम पर 4-बाइट पूर्णांक का आकार 32-बिट हो सकता है।
यदि आप ऐसे डेटा प्रकार का उपयोग करते हैं जिसमें तत्वों को परिवर्तित नहीं किया जा सकता, तो NumPy एक ValueError उत्पन्न करेगा। उदाहरण के लिए, एक स्ट्रिंग जिसे पूर्णांक में बदला नहीं जा सकता।
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i') # This will raise a ValueError
इस उदाहरण में, ‘a’ को पूर्णांक में परिवर्तित नहीं किया जा सकता, इसलिए यह ValueError उत्पन्न करेगा।
अगर आपको पहले से मौजूद array का डेटा प्रकार बदलना है, तो astype() विधि का उपयोग करें। यह विधि array की एक प्रति बनाती है और आपको डेटा प्रकार को निर्दिष्ट करने का अवसर देती है।
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr) # Output: [1 2 3]
print(newarr.dtype) # Output: int32
astype('i') का उपयोग करके हमने array के फ्लोट मानों को पूर्णांक में परिवर्तित किया।
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr) # Output: [1 2 3]
print(newarr.dtype) # Output: int32
आप astype(int) का उपयोग भी कर सकते हैं, जो 'i' के समान कार्य करता है।
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr) # Output: [ True False True]
print(newarr.dtype) # Output: bool
astype(bool) का उपयोग करके हमने पूर्णांक (0 और 3) को बूलियन (True और False) में परिवर्तित किया।
