numpy.can_cast() মেথড কাস্টিং নিয়ম অনুযায়ী দুটি ডেটা টাইপের মধ্যে কাস্ট সম্ভব কিনা তা বুলিয়ান মান (True/False) হিসেবে ফেরত দেয়।
প্যারামিটারসমূহ
- from_: কাস্ট করার উৎস ডেটা টাইপ বা অ্যারে
- to: লক্ষ্য ডেটা টাইপ
- casting (ঐচ্ছিক): কাস্টিং নিয়ম নিয়ন্ত্রণ করে। মানগুলো:
'no','equiv','safe','same_kind','unsafe'
কাস্টিং নিয়মের অর্থ
- 'no': কোনো কাস্টিং অনুমোদিত নয় (শুধু একই টাইপ)
- 'equiv': শুধু বাইট-অর্ডার পরিবর্তন অনুমোদিত
- 'safe': শুধু মান সংরক্ষণকারী কাস্টিং অনুমোদিত (উদা. int32 → int64)
- 'same_kind': সেফ কাস্ট বা একই কাইন্ডের মধ্যে কাস্ট অনুমোদিত (উদা. float64 → float32)
- 'unsafe': যেকোনো ডেটা কনভারশন অনুমোদিত
পদ্ধতি
লাইব্রেরি ইম্পোর্ট করুন
import numpy as np
বিভিন্ন কাস্টিং নিয়মে can_cast() যাচাই করুন
print("Numpy-এ can_cast() মেথড যাচাই\n")
# 'no' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'i8', 'no'))
print("ফলাফল...", np.can_cast('i8', 'no'))
# 'equiv' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'equiv'))
print("ফলাফল...", np.can_cast('i8', 'equiv'))
# 'safe' নিয়ম
print("ফলাফল...", np.can_cast('i4', 'i8', 'safe'))
print("ফলাফল...", np.can_cast('i8', 'i4', 'safe'))
# 'same_kind' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'i4', 'same_kind'))
print("ফলাফল...", np.can_cast('i8', 'i4', 'same_kind'))
সম্পূর্ণ উদাহরণ
import numpy as np
print("Numpy-এ can_cast() মেথড যাচাই\n")
# 'no' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'i8', 'no'))
print("ফলাফল...", np.can_cast('i8', 'no'))
# 'equiv' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'equiv'))
print("ফলাফল...", np.can_cast('i8', 'equiv'))
# 'safe' নিয়ম
print("ফলাফল...", np.can_cast('i4', 'i8', 'safe'))
print("ফলাফল...", np.can_cast('i8', 'i4', 'safe'))
# 'same_kind' নিয়ম
print("ফলাফল...", np.can_cast('i8', 'i4', 'same_kind'))
print("ফলাফল...", np.can_cast('i8', 'i4', 'same_kind'))
আউটপুট
Numpy-এ can_cast() মেথড যাচাই
ফলাফল... True
ফলাফল... False
ফলাফল... True
ফলাফল... False
ফলাফল... True
ফলাফল... False
ফলাফল... True
ফলাফল... True
ব্যাখ্যা:
'no': একই টাইপ (i8→i8) True, কিন্তু বাইট অর্ডার আলাদা (→ >i8) False'equiv': বাইট অর্ডার পরিবর্তন (→ >i8) True, কিন্তু আকার পরিবর্তন (→ >i8) False'safe': ছোট থেকে বড় (i4→i8) True, বড় থেকে ছোট (i8→i4) False'same_kind': একই কাইন্ডের মধ্যে বড় থেকে ছোট (i8→i4) True