كيفية الإصلاح في pandas: خطأ في الكتابة: لا توجد بيانات رقمية للتخطيط
الخطأ الذي قد تواجهه عند استخدام الباندا هو:
TypeError : no numeric data to plot
يحدث هذا الخطأ عند محاولة رسم القيم من DataFrame الباندا، ولكن لا توجد قيم رقمية لرسمها.
يحدث هذا الخطأ عادةً عندما تعتقد أن عمودًا معينًا في DataFrame رقمي، ولكن يتبين أنه نوع بيانات مختلف.
يوضح المثال التالي كيفية تصحيح هذا الخطأ عمليًا.
كيفية إعادة إنتاج الخطأ
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B'], ' points ': ['5', '7', '7', '9', '12'], ' rebounds ': ['11', '8', '10', '6', '6'], ' blocks ': ['4', '7', '7', '6', '5']}) #view DataFrame df team points rebound blocks 0 A 5 11 4 1 To 7 8 7 2 B 7 10 7 3 B 9 6 6 4 B 12 6 5
لنفترض الآن أننا نحاول إنشاء مخطط خطي للمتغيرات الثلاثة التي نعتقد أنها رقمية: النقاط، والارتدادات، والكتل:
#attempt to create line plot for points, rebounds, and blocks
df[[' points ', ' rebounds ', ' blocks ']]. plot ()
ValueError : no numeric data to plot
لقد حصلنا على خطأ لأن أيًا من هذه الأعمدة ليس رقميًا بالفعل.
كيفية اصلاح الخطأ
يمكننا استخدام الدالة dtypes لمعرفة نوع البيانات الذي ينتمي إليه كل عمود في DataFrame الخاص بنا:
#display data type of each column in DataFrame
df. dtypes
team object
points object
rebound object
blocks object
dtype:object
يمكننا أن نرى أن أياً من الأعمدة الموجودة في DataFrame ليس رقميًا.
يمكننا استخدام الدالة .astype() لتحويل أعمدة معينة إلى قيم رقمية:
#convert points, rebounds, and blocks columns to numeric
df[' points ']=df[' points ']. astype (float)
df[' rebounds ']=df[' rebounds ']. astype (float)
df[' blocks ']=df[' blocks ']. astype (float)
يمكننا بعد ذلك إعادة استخدام الدالة plot() :
#create line plot for points, rebounds, and blocks
df[[' points ', ' rebounds ', ' blocks ']]. plot ()
نحن قادرون على إنشاء مخطط خطي للنقاط والارتدادات والكتل بنجاح لأن كل متغير أصبح الآن رقميًا.
يمكننا التحقق من ذلك باستخدام الدالة dtypes مرة أخرى:
#display data type of each column in DataFrame
df. dtypes
team object
float64 points
rebounds float64
blocks float64
dtype:object
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:
كيفية إصلاح KeyError في الباندا
كيفية الإصلاح: خطأ القيمة: غير قادر على تحويل float NaN إلى int
كيفية الإصلاح: خطأ في القيمة: لا يمكن بث المعاملات بالأشكال