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


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

 ValueError : setting an array element with a sequence.

يحدث هذا الخطأ عادةً عند محاولة تجميع أرقام متعددة في موضع واحد في مصفوفة NumPy.

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

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

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

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

لنفترض الآن أننا نحاول وضع رقمين في الموضع الأول من المصفوفة:

 #attempt to cram values '4' and '5' both into first position of NumPy array
data[0] = np. array ([4,5])

ValueError : setting an array element with a sequence.

يخبرنا الخطأ بالضبط بالخطأ الذي ارتكبناه: لقد حاولنا تحديد عنصر في مصفوفة NumPy بسلسلة من القيم.

على وجه الخصوص، حاولنا وضع القيمتين “4” و”5″ في الموضع الأول من مصفوفة NumPy.

هذا غير ممكن، لذلك نتلقى خطأ.

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

طريقة إصلاح هذا الخطأ هي ببساطة تعيين قيمة للموضع الأول للمصفوفة:

 #assign the value '4' to the first position of the array
data[0] = np. array ([4])

#view updated array
data

array([ 4, 2, 3, 4, 5, 6, 7, 8, 9, 10])

لاحظ أننا لا نتلقى أي أخطاء.

إذا أردنا بالفعل تعيين قيمتين جديدتين لعناصر المصفوفة، فسنحتاج إلى استخدام الصيغة التالية:

 #assign the values '4' and '5' to the first two positions of the array
data[0:2] = np. array ([4, 5])

#view updated array
data

array([ 4, 5, 3, 4, 5, 6, 7, 8, 9, 10])

لاحظ أنه تم تغيير القيمتين الأوليين في الجدول بينما ظلت جميع القيم الأخرى كما هي.

مصادر إضافية

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

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

Add a Comment

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