• 0

كيف يتم تحويل مصفوفة من نوع string إلى مصفوفة من نوع float في numpy؟

كيفية تحويل مصفوفة من النصوص:

["1.1", "2.2", "3.3"]

إلى مصفوفة من نوع float:

[1.1, 2.2, 3.2]

في مكتبة Numpy؟

2 اشخاص أعجبوا بهذا

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


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

يمكن استخدام  numpy.asarray مع تمرير نمط البيانات المراد التحويل له  dtype = np.float64

import numpy as np
a = ["1.1", "2.2", "3.2"]
b = np.asarray(a, dtype=np.float64, order='C')

الوسيط orderاختياري, C يمثل بيانات Raw.

كما يمكن استخدام np.fromstring

x = ["1.1", "2.2", "3.2"]
x = ','.join(x)
x = np.fromstring( x, dtype=np.float, sep=',' )

حيث تم تحويل x لسلسلة نصية ثم تم إعادة بنائها، وتم استخدام , كمعامل فصل بين العناصر، تفيد هذه الطريقة في حال استخدام ملفات، حيث أنه لكل قراءة سطر سيتم قراءة سلسلة نصية و التي تمثل مصفوفة يسهل تحويلها..

كما يمكن استخدام:

np.asfarray

x=np.asfarray(x,float)

 

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


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
import numpy as np
x = np.array(['1.1', '2.2', '3.3'])
y = x.astype(np.float)

يمكنك استعمال الدالة (np.float)astype مباشرة و ستقوم بتحويل الارقام الموجودة على شكل string الى float.

تمّ تعديل بواسطة Walid K

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


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

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

import numpy as np
a = np.array(['1.1', '2.2', '3.3'])
a = a.astype(np.float)
a
#array([1.1, 2.2, 3.3])

 

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


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

يمكنك استخدام العديد من الدوال السابقة كما في التعليقات ولكن إذا كنت تريد تحويلها إلى نوع float فهناك دالة لذلك np.asfarray حيث ترجع المصفوفة المطلوبة إلى نوع float 

import numpy as np

stringArray = np.array(["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"])
floatArray = np.asfarray(stringArray, dtype = float)
print(stringArray)
print(floatArray)

الناتج يكون كالتالي

['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00  1.235e+00  1.250e-04  2.000e+00  5.500e+01 -1.235e+01
  0.000e+00 -2.500e-04]

 

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


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

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

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

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


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

تسجيل الدخول

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


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