الباندا: كيفية استبدال قيم nan بسلسلة
يمكنك استخدام الطرق التالية لاستبدال قيم NaN بسلاسل في pandas DataFrame:
الطريقة الأولى: استبدال قيم NaN بسلسلة في جميع أنحاء DataFrame
df. fillna ('', inplace= True )
الطريقة الثانية: استبدال قيم NaN بسلسلة في أعمدة محددة
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna ('')
الطريقة الثالثة: استبدال قيم NaN بسلسلة في عمود
df. col1 = df. col1 . fillna ('')
توضح الأمثلة التالية كيفية استخدام كل طريقة مع الباندا DataFrame التالية:
import pandas as pd import numpy as np #create DataFrame with some NaN values df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [np.nan, 11, 7, 7, 8, 6, 14, 15], ' assists ': [5, np.nan, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, np.nan, 6, 5, 9, np.nan]}) #view DataFrame df team points assists rebounds 0 A NaN 5.0 11.0 1 A 11.0 NaN 8.0 2 A 7.0 7.0 10.0 3 A 7.0 9.0 NaN 4 B 8.0 12.0 6.0 5 B 6.0 9.0 5.0 6 B 14.0 9.0 9.0 7 B 15.0 4.0 NaN
الطريقة الأولى: استبدال قيم NaN بسلسلة في جميع أنحاء DataFrame
يوضح التعليمة البرمجية التالية كيفية استبدال كل قيمة NaN في DataFrame بأكمله بسلسلة فارغة:
#replace NaN values in all columns with empty string
df. fillna ('', inplace= True )
#view updated DataFrame
df
team points assists rebounds
0 A 5.0 11.0
1 A 11.0 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7B 15.0 4.0
لاحظ أنه تم استبدال كل قيمة NaN في كل عمود بسلسلة فارغة.
الطريقة الثانية: استبدال قيم NaN بسلسلة في أعمدة محددة
يوضح الكود التالي كيفية استبدال قيم NaN في أعمدة محددة بسلسلة محددة:
#replace NaN values in 'points' and 'rebounds' columns with 'none'
df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. fillna (' none ')
#view updated DataFrame
df
team points assists rebounds
0 A none 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 none
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 none
لاحظ أنه تم استبدال قيم NaN في عمود “النقاط” و”المرتدات” بالسلسلة “لا شيء”، لكن قيم NaN في عمود “المساعدات” ظلت دون تغيير.
الطريقة الثالثة: استبدال قيم NaN بسلسلة في عمود
يوضح التعليمة البرمجية التالية كيفية استبدال قيم NaN في عمود بسلسلة محددة:
#replace NaN values in 'points' column with 'zero'
df. points = df. points . fillna (' zero ')
#view updated DataFrame
df
team points assists rebounds
0 To zero 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN
لاحظ أنه تم استبدال قيمة NaN في عمود “النقاط” بالسلسلة “صفر”، لكن قيم NaN في عمود “التمريرات الحاسمة” و”المرتدات” ظلت دون تغيير.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
الباندا: كيفية استبدال القيم في عمود بناءً على الحالة
الباندا: كيفية استبدال قيم NaN بالصفر
الباندا: كيفية حساب القيم المفقودة في DataFrame