Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में कास्टिंग नियम के अनुसार स्केलर और डेटा प्रकार के बीच कास्ट संभव है तो True लौटाएं

विवरण

numpy.can_cast() फंक्शन जांचता है कि क्या दिए गए कास्टिंग नियम के अनुसार स्केलर या डेटा प्रकार को लक्ष्य डेटा प्रकार में कास्ट किया जा सकता है। यह बूलियन मान लौटाता है।

पैरामीटर्स

  • from_ - कास्ट करने वाला स्केलर, डेटा प्रकार, या ऐरे
  • to - लक्ष्य डेटा प्रकार
  • casting - कास्टिंग नियम (डिफ़ॉल्ट: 'safe')। विकल्प: 'no', 'equiv', 'safe', 'same_kind', 'unsafe'

कास्टिंग नियम

नियमविवरण
'no'कोई कास्टिंग नहीं (प्रकार समान होने चाहिए)
'equiv'केवल बाइट-ऑर्डर परिवर्तन
'safe'केवल सुरक्षित कास्ट (कोई परिशुद्धता हानि नहीं, डिफ़ॉल्ट)
'same_kind'सुरक्षित + समान प्रकार के भीतर (उदाहरण: float64→float32)
'unsafe'कोई भी कास्ट अनुमत

चरण

import numpy as np

print("Numpy में can_cast() मेथड से जांच\n")

print("परिणाम...", np.can_cast(20, 'i1'))      # True: 20 फिट होता है int8 में
print("परिणाम...", np.can_cast(280, 'i1'))     # False: 280 > 127 (int8 मैक्स)
print("परिणाम...", np.can_cast(80, 'u1'))      # True: 80 फिट होता है uint8 में
print("परिणाम...", np.can_cast(300.7, np.float32)) # True: float64→float32 safe
print("परिणाम...", np.can_cast(120.6, np.float64)) # True: समान प्रकार
print("परिणाम...", np.can_cast(7.2e100, np.float32)) # False: float32 मैक्स ~3.4e38
print("परिणाम...", np.can_cast(6.5e100, np.float64)) # True: float64 मैक्स ~1.8e308

पूर्ण उदाहरण

import numpy as np

# numpy.can_cast() मेथड जांचता है कि क्या स्केलर और डेटा प्रकार
# कास्टिंग नियम के अनुसार कास्ट हो सकते हैं।
print("Numpy में can_cast() मेथड से जांच\n")

print("परिणाम...", np.can_cast(20, 'i1'))
print("परिणाम...", np.can_cast(280, 'i1'))
print("परिणाम...", np.can_cast(80, 'u1'))
print("परिणाम...", np.can_cast(300.7, np.float32))
print("परिणाम...", np.can_cast(120.6, np.float64))
print("परिणाम...", np.can_cast(7.2e100, np.float32))
print("परिणाम...", np.can_cast(6.5e100, np.float64))

आउटपुट

Numpy में can_cast() मेथड से जांच
परिणाम... True
परिणाम... False
परिणाम... True
परिणाम... True
परिणाम... True
परिणाम... False
परिणाम... True

व्याख्या

  • 20 → int8: True (रेंज -128 से 127)
  • 280 → int8: False (ओवरफ्लो)
  • 80 → uint8: True (रेंज 0 से 255)
  • 300.7 → float32: True (safe कास्ट, परिशुद्धता हानि संभव लेकिन मान फिट)
  • 120.6 → float64: True (समान प्रकार)
  • 7.2e100 → float32: False (float32 मैक्स ~3.4e38)
  • 6.5e100 → float64: True (float64 मैक्स ~1.8e308)

ऐरे के साथ उपयोग


arr = np.array([1, 2, 3], dtype=np.int32)
np.can_cast(arr, np.int16)      # False (safe नहीं)
np.can_cast(arr, np.int16, casting='same_kind')  # True
np.can_cast(arr, np.float64)    # True (safe)

व्यावहारिक उपयोग

  • डेटा प्रकार रूपांतरण से पहले सत्यापन
  • मेमोरी अनुकूलन (छोटे dtype में फिट जांचना)
  • उपयोगकर्ता इनपुट सत्यापन
  • स्वचालित dtype अनुमान में
  1. पायथन में टेंसरफ्लो और प्री-ट्रेंड मॉडल का उपयोग करके डेटा कैसे विज़ुअलाइज़ करें? पायथन में टेंसरफ्लो और प्री-ट्रेंड मॉडल का उपयोग करके डेटा कैसे विज़ुअलाइज़ करें?

    टेंसरफ्लो और प्री-ट्रेंड मॉडल का उपयोग matplotlib लाइब्रेरी का उपयोग करके डेटा विज़ुअलाइज़ करने के लिए किया जा सकता है। plot मेथड का उपयोग कंसोल पर डेटा प्लॉट करने के लिए किया जाता है। और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है? एक न्यूरल नेटवर्

  1. - पायथन में लिस्ट, सीक्वेंस और स्लाइस डेटा टाइप्स में क्या अंतर हैं?

    एक लिस्ट एक सीक्वेंस है लेकिन एक सीक्वेंस आवश्यक रूप से लिस्ट नहीं है। एक सीक्वेंस कोई भी प्रकार है जो सीक्वेंस इंटरफेस (प्रोटोकॉल) का समर्थन करता है। सीक्वेंस प्रकार एक कार्यात्मक सुपरसेट का वर्णन करते हैं। स्लाइस ऑब्जेक्ट्स आमतौर पर सिंटैक्टिक शुगर (foo[2:5]) के माध्यम से अंतर्निहित रूप से बनाए

  1. - Python डेटा टाइप्स और रूपांतरण में महारत: एक व्यावहारिक गाइड

    Python डेटा टाइप्स और टाइप रूपांतरण कैसे करें, इसका परिचय। Python डेटा टाइप्स जब हम Python में वेरिएबल्स बनाते या घोषित करते हैं, तो वेरिएबल्स विभिन्न डेटा टाइप्स रख सकते हैं। Python में निम्न बिल्ट-इन डेटा टाइप्स हैं: str int, float, complex list, tuple dict set bool byte, bytearray टेक्स्ट टाइप: