كيفية حذف الصفوف في pandas dataframe بناءً على الحالة


يمكننا استخدام بناء الجملة التالي لحذف الصفوف في Pandas DataFrame بناءً على الحالة:

الطريقة الأولى: حذف الصفوف بناءً على شرط واحد

 df = df[df. col1 > 8]

الطريقة الثانية: حذف الصفوف بناءً على شروط متعددة

 df = df[(df. col1 > 8) & (df. col2 != ' A ')]

ملاحظة : يمكننا أيضًا استخدام الدالة drop() لإسقاط الصفوف من DataFrame، ولكن ثبت أن هذه الوظيفة أبطأ بكثير من مجرد تعيين DataFrame لنسخة تمت تصفيتها من نفسها.

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team pos assists rebounds
0 A G 5 11
1 A G 7 8
2 A F 7 10
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 9 9
7 B F 4 12

الطريقة الأولى: حذف الصفوف بناءً على شرط واحد

يوضح التعليمة البرمجية التالية كيفية حذف الصفوف في DataFrame بناءً على شرط:

 #drop rows where value in 'assists' column is less than or equal to 8
df = df[df. assists > 8] 

#view updated DataFrame
df

	team pos assists rebounds
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 9 9

تمت إزالة أي صف بقيمة أقل من أو تساوي 8 في عمود “المساعدة” من DataFrame.

الطريقة الثانية: حذف الصفوف بناءً على شروط متعددة

يوضح التعليمة البرمجية التالية كيفية حذف الصفوف في DataFrame بناءً على عدة شروط:

 #only keep rows where 'assists' is greater than 8 and rebounds is greater than 5
df = df[(df. assists > 8) & (df. rebounds > 5)]

#view updated DataFrame
df

	team pos assists rebounds
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 9 9

الصفوف الوحيدة التي احتفظنا بها في DataFrame هي تلك التي كانت قيمة التمريرات الحاسمة فيها أكبر من 8 وكانت قيمة الكرات المرتدة أكبر من 5.

لاحظ أنه يمكننا أيضًا استخدام | عامل التشغيل لتطبيق عامل التصفية “أو”:

 #only keep rows where 'assists' is greater than 8 or rebounds is greater than 10
df = df[(df. assists > 8) | (df. rebounds > 10)]

#view updated DataFrame
df

	team pos assists rebounds
0 A G 5 11
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 9 9
7 B F 4 12

الصفوف الوحيدة التي احتفظنا بها في DataFrame هي تلك التي كانت قيمة المساعدة فيها أكبر من 8 أو كانت قيمة الارتداد أكبر من 10.

سيتم حذف أي صفوف لا تستوفي أحد هذه الشروط.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:

كيفية حذف الصفوف التي تحتوي على قيمة محددة في Pandas
كيفية حذف الصفوف التي تحتوي على سلسلة معينة في Pandas
كيفية حذف الصفوف حسب الفهرس في Pandas

Add a Comment

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