البرمجة

حل مشكلة JSON في Bokeh: دليل تصحيح الأخطاء

يبدو أنك تواجه مشكلة مع توليد رسم بياني باستخدام مكتبة Bokeh في Python، حيث تظهر لك رسالة الخطأ “ValueError: Out of range float values are not JSON compliant”. هذا الخطأ يشير إلى أن هناك قيمًا في بياناتك خارج نطاق القيم التي يمكن تمثيلها بشكل صحيح في JSON.

بالنظر إلى الكود الذي قدمته، يبدو أن المشكلة تنتج من الخطوة التالية:

python
p.circle(df['Score'], df['Rating'], size=20, color="navy", alpha=0.5)

في هذا السطر، يتم تمرير قائمة df['Rating'] كقيمة للمحور y، والذي يجب أن يكون نطاقه مكونًا من القيم التي تمثل التصنيفات (“iAAA”, “iAA+”، إلخ). ولكن يبدو أن هناك خلط بين المتغيرات df['Rating'] و rtngs، حيث يجب أن تكون قيم المحور y مكونة من القيم الموجودة في rtngs بدلاً من df['Rating'].

لذا، يمكنك تصحيح هذا الخطأ بتعديل السطر المذكور إلى:

python
p.circle(df['Score'], rtngs, size=20, color="navy", alpha=0.5)

بعد ذلك، قد تحتاج أيضًا إلى التأكد من عدم وجود قيم NaN في البيانات، حيث يمكن أن تتسبب في ظهور رسالة الخطأ “Out of range float values” وفي النهاية، قد تحتاج أيضًا إلى التأكد من تحديد ملف الإخراج output_file بشكل صحيح.

باستخدام هذه التغييرات، يجب أن تتمكن من رسم الرسم البياني بنجاح دون ظهور أخطاء JSON. إذا استمرت المشكلة، يمكن أن تكون هناك مشكلة أخرى في البيانات تتطلب فحصًا أعمق.

المزيد من المعلومات

بالطبع، سأوفر لك المزيد من المعلومات لفهم السياق بشكل أفضل.

أولاً، دعني أشرح بإيجاز كيفية عمل الكود الذي قدمته:

  1. يتم استيراد مكتبات Python اللازمة، بما في ذلك pandas و bokeh.plotting.
  2. يتم قراءة ملف Excel باستخدام pandas وتحديد الأعمدة المطلوبة (A و B).
  3. يتم اختيار عدد محدود من الصفوف باستخدام df.head(n=19)، حيث يتم استخدام هذا الأمر لاختيار أول 19 صفًا في الإطار البيانات.
  4. يتم إنشاء مخطط Bokeh باستخدام البيانات المحددة، حيث يتم رسم دائرة (circle) لكل نقطة في البيانات، ويتم تحديد الحجم واللون والشفافية لهذه الدوائر.
  5. يتم توليد ملف HTML يحتوي على الرسم البياني باستخدام output_file، ويتم عرض الرسم البياني باستخدام show(p).

المشكلة التي تواجهها تظهر عند محاولة عرض الرسم البياني، حيث تتعثر في تمثيل البيانات كـ JSON بسبب قيم تتجاوز النطاق المسموح به. يبدو أن هذه المشكلة ناتجة عن محاولة استخدام القيم الموجودة في df['Rating'] كمحور y، والتي ليست في النطاق المتوقع.

بعد تصحيح الخطأ والتأكد من عدم وجود قيم NaN في البيانات، يجب أن يتمكن الكود من إنشاء ملف HTML يحتوي على الرسم البياني بنجاح.

لمزيد من الفحص، يمكنك التحقق من البيانات بشكل دقيق للتأكد من أن القيم الموجودة تتوافق مع التوقعات. كما يمكنك أيضًا تحليل الأخطاء المحددة بشكل أكبر، وربما يكون هناك معلومات إضافية في سجل الأخطاء تساعد في تحديد المشكلة بشكل أفضل.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر