كيفية احتساب القيم المفقودة في الباندا (بما في ذلك مثال)


يمكنك استخدام بناء الجملة الأساسي التالي لإدراج القيم المفقودة في pandas DataFrame:

 df[' column_name '] = df[' column_name ']. interpolate ()

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استيفاء القيم المفقودة في الباندا

لنفترض أن لدينا DataFrame الباندا التالي الذي يعرض إجمالي المبيعات التي أجراها المتجر لمدة 15 يومًا متتاليًا:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                   ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan,
                             np.nan, 35, 39, 44, 49]})

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 NaN
8 9 NaN
9 10 NaN
10 11 NaN
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

لاحظ أننا نفتقد أرقام المبيعات لمدة أربعة أيام في إطار البيانات.

إذا أنشأنا مخططًا خطيًا بسيطًا لتصور المبيعات بمرور الوقت، فهذا هو الشكل الذي سيبدو عليه:

 #create line chart to visualize sales
df[' sales ']. plot ()

إسناد القيم المفقودة في الباندا

لملء القيم المفقودة، يمكننا استخدام الدالة interpolate() كما يلي:

 #interpolate missing values in 'sales' column
df[' sales '] = df[' sales ']. interpolate ()

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 23.0
8 9 26.0
9 10 29.0
10 11 32.0
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

لاحظ أنه تم استبدال كل من القيم المفقودة.

إذا قمنا بإنشاء مخطط خطي آخر لتصور إطار البيانات المحدث، فهذا هو الشكل الذي سيبدو عليه:

 #create line chart to visualize sales
df[' sales ']. plot ()

لاحظ أن القيم التي اختارتها الدالة interpolate() تبدو وكأنها تتطابق مع اتجاه البيانات بشكل جيد.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة interpolate() هنا .

مصادر إضافية

توفر البرامج التعليمية التالية معلومات إضافية حول كيفية التعامل مع القيم المفقودة في الباندا:

كيفية حساب القيم المفقودة في الباندا
كيفية استبدال قيم NaN بسلسلة في Pandas
كيفية استبدال قيم NaN بالصفر في Pandas

Add a Comment

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