• 0

تحويل مصفوفة numpy تحتوي على أرقام عشرية إلى مصفوفة من نوع integer؟

كيفية تحويل مصفوفة numpy تحتوي على أرقام عشرية إلى مصفوفة integer؟ 

على سبيل المثال لدي المصفوفة التالية:

import numpy as np
arr = np.array([[1.0, 2.1], [3.2, 4.3]])

كيف أقوم بتحويلها إلى المصفوفة التالية:

array([[1, 2], [3, 4]])

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك استخدام دالة astype كالآتي:

>>> x = np.array([[1.0, 2.3], [1.3, 2.9]])
>>> x
array([[ 1. ,  2.3],
       [ 1.3,  2.9]])
>>> x.astype(int) # وهنا تقوم بتحديد النوع الذي تريده
array([[1, 2],
       [1, 2]])

إذا لم تكن متأكدًا من أن مدخلاتك ستكون عبارة عن مصفوفة Numpy ، فيمكنك استخدام asarray مع  dtype=int بدلاً من astype:

>>> np.asarray([1,2,3,4], dtype=int)
array([1, 2, 3, 4])

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك استخدام الدالة  astype بالشكل التالي:

import numpy as np
arr = np.array((0.2,1.7, 4.2, -1.2))
# array([ 0.2,  1.7,  4.2, -1.2])
arr = arr.astype(int)
arr
# array([ 0,  1,  4, -1])

 

تمّ تعديل بواسطة Ali Haidar Ahmad
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك التحكم في تحويل الأرقام العشرية ل integer سواء لأقرب رقم الرقم الأكبر أو الأصغر من خلال الدوال

>>> x = np.array([[1.0,2.3],[1.3,2.9]])

>>> z = np.ceil(x)#لأكبر رقم

>>> t = np.floor(x)# لأصغر رقم

>>> a = np.rint(x)# لأقرب رقم

يمكنك أيضاً استخدام الدالة _np.int كالتالي

>>> x = np.array([[1.0, 2.3], [1.3, 2.9]])

>>> np.int_(x)
array([[1, 2],
       [1, 2]])

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن