الباندا: كيفية استبدال nan بلا شيء
يمكنك استخدام بناء الجملة الأساسي التالي لاستبدال قيم NaN بـ لا شيء في pandas DataFrame:
df = df. replace (np. nan , None )
هذه الوظيفة مفيدة بشكل خاص عندما تحتاج إلى تصدير Pandas DataFrame إلى قاعدة بيانات تستخدم بلا لتمثيل القيم المفقودة بدلاً من NaN .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استبدل NaN بـ لا شيء في Pandas
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd
import numpy as np
#createDataFrame
df = pd. DataFrame ({' A ': [5, 6, 8, np.nan, 4, 15, 13],
' B ': [np.nan, 12, np.nan, 10, 23, 6, 4],
' C ': [2, 7, 6, 3, 2, 4, np.nan],
' D ': [5, np.nan, 6, 15, 1, np.nan, 4]})
#view DataFrame
print (df)
ABCD
0 5.0 NaN 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 NaN 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0
لاحظ أن هناك قيم NaN متعددة في DataFrame.
لاستبدال كل قيمة NaN بـ None ، يمكننا استخدام الصيغة التالية:
#replace all NaN values with None
df = df. replace (np. nan , None )
#view updated DataFrame
print (df)
ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 None
2 8.0 None 6.0 6.0
3 None 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 None
6 13.0 4.0 None 4.0
لاحظ أنه تم استبدال كل NaN في كل عمود من DataFrame بـ None .
لاحظ أنه إذا كنت تريد استبدال قيم NaN فقط بـ “لا شيء” في عمود معين، فيمكنك استخدام بناء الجملة التالي:
#replace NaN values with None in column 'B' only
df[' B '] = df[' B ']. replace (np. nan , None )
#view updated DataFrame
print (df)
ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 None 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0
لاحظ أنه تم تغيير قيم NaN إلى لا شيء في العمود “B” فقط.
ذات صلة: كيفية استبدال قيم NaN بالصفر في Pandas
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية استبدال قيم محددة في الباندا
كيفية تصفية Pandas DataFrame حسب قيم الأعمدة
كيفية ملء قيم NA لأعمدة متعددة في Pandas