الباندا: كيفية حذف الأسطر التي تحتوي على سلسلة محددة


يمكنك استخدام بناء الجملة التالي لإزالة الصفوف التي تحتوي على سلسلة معينة في pandas DataFrame:

 df[df[" col "]. str . contains (" this string ") == False ]

يشرح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الصيغة مع DataFrame التالي:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

المثال 1: إزالة الصفوف التي تحتوي على سلسلة محددة

يوضح التعليمة البرمجية التالية كيفية إزالة كافة الصفوف من DataFrame التي تحتوي على “A” في عمود الفريق:

 df[df[" team "]. str . contains (" A ")== False ]

        team conference points
3 B West 6
4 B West 6
5 C East 5

المثال 2: إزالة الصفوف التي تحتوي على سلسلة في القائمة

يوضح التعليمة البرمجية التالية كيفية إزالة كافة الصفوف من DataFrame التي تحتوي على “A” أو “B” في عمود الفريق:

 df[df[" team "]. str . contains (" A|B ")== False ]

	team conference points
5 C East 5

المثال 3: إزالة الصفوف التي تحتوي على سلسلة جزئية

في الأمثلة السابقة، قمنا بحذف الصفوف بناءً على الصفوف التي تطابق تمامًا سلسلة واحدة أو أكثر.

ومع ذلك، إذا أردنا إزالة الأسطر التي تحتوي على سلسلة جزئية، يمكننا استخدام بناء الجملة التالي:

 #identify partial string to look for
discard = [" Wes "]

#drop rows that contain the partial string "Wes" in the conference column
df[~df. conference . str . contains (' | ' .join (discard))]

team conference points
0 A East 11
1 A East 8
2 A East 10
5 C East 5

يمكنك العثور على المزيد من دروس الباندا على هذه الصفحة .

Add a Comment

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