اذهب إلى المحتوى

السؤال

نشر

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

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

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

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

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

 

Recommended Posts

  • 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
نشر

يمكنك التحكم في تحويل الأرقام العشرية ل 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]])

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...