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

السؤال

Recommended Posts

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

يمكنك استخدام العديد من الدوال السابقة كما في التعليقات ولكن إذا كنت تريد تحويلها إلى نوع 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]

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...