كيفية الإصلاح: خطأ في الكتابة: غير قادر على التصغير باستخدام الكتابة المرنة


الخطأ الذي قد تواجهه عند استخدام بايثون هو:

 ValueError : cannot perform reduce with flexible type

يحدث هذا الخطأ عندما تحاول إجراء عملية حسابية على كائن غير رقمي في Python.

يوضح المثال التالي كيفية تصحيح هذا الخطأ عمليًا.

كيفية إعادة إنتاج الخطأ

لنفترض أن لدينا مجموعة NumPy التالية:

 import numpy as np

#define NumPy array of values
data = np. array (['1', '2', '3', '4', '7', '9', '10', '12'])

#attempt to calculate median of values
n.p. median (data)

TypeError : cannot perform reduce with flexible type

لقد تلقينا خطأ TypeError لأننا حاولنا حساب متوسط قائمة قيم السلسلة.

كيفية اصلاح الخطأ

أسهل طريقة لإصلاح هذا الخطأ هي ببساطة تحويل مصفوفة NumPy إلى كائن عائم حتى نتمكن من إجراء العمليات الحسابية عليه.

يوضح الكود التالي كيفية القيام بذلك:

 #convert NumPy array of string values to float values
data_new = data. astype (float)

#view updated NumPy array
data_new

array([ 1., 2., 3., 4., 7., 9., 10., 12.])

#check data type of array
data_new. dtype

dtype('float64')

يمكننا الآن إجراء عمليات حسابية على مصفوفة NumPy:

 #calculate median value of array
n.p. median (data_new)

5.5

#calculate mean value of array
n.p. mean (data_new)

6.0

#calculate max value of array
n.p. max (data_new)

12.0

لاحظ أننا لا نتلقى أي أخطاء لأن مصفوفة NumPy عبارة عن كائن عائم، مما يعني أنه يمكننا إجراء عمليات حسابية عليها.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:

كيفية إصلاح KeyError في الباندا
كيفية الإصلاح: خطأ القيمة: غير قادر على تحويل float NaN إلى int
كيفية الإصلاح: خطأ في القيمة: لا يمكن بث المعاملات بالأشكال

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *