"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إسقاط الصفوف من إطار بيانات Pandas بناءً على الفهرس أو الشروط؟

كيفية إسقاط الصفوف من إطار بيانات Pandas بناءً على الفهرس أو الشروط؟

تم النشر بتاريخ 2024-11-03
تصفح:329

How to Drop Rows from a Pandas Dataframe Based on Index or Conditions?

إسقاط صفوف من إطار بيانات Pandas

في Pandas، غالبًا ما نواجه الحاجة إلى إزالة صفوف معينة من إطار بيانات، إما لتنظيف البيانات الأغراض أو التركيز على مجموعات فرعية محددة. إحدى الطرق الفعالة لتحقيق ذلك هي استخدام وظيفة الإسقاط، والتي تسمح لنا بإزالة الصفوف بشكل انتقائي بناءً على معايير مختلفة.

لتوضيح العملية، دعونا نفكر في إطار بيانات df:

import pandas as pd

df = pd.DataFrame({'sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'discount': [None, None, None, None, None, None],
                   'net_sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'cogs': [2.245, 5.291, 7.981, 12.686, 2.710, 6.459]})

print(df)

الآن، لنفترض أننا نريد إسقاط صفوف بأرقام تسلسلية معينة، ممثلة بقائمة، مثل [1، 2، 4]. للقيام بذلك، يمكننا استخدام وظيفة الإفلات كما يلي:

  1. قم بإنشاء سلسلة من تسميات الفهرس التي ترغب في إزالتها:
indices_to_drop = [1, 2, 4]
  1. بدلاً من ذلك، يمكنك أيضًا إسقاط الصفوف بناءً على شروط العمود:
conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]

من خلال تحديد معلمة الفهرس في الإسقاط، يمكننا إزالة الصفوف المقابلة للمؤشرات المقدمة بشكل فعال، مما يترك لنا المجموعة الفرعية المطلوبة:

df = df.drop(index=indices_to_drop)
print(df)

في هذه الحالة، سيؤدي ذلك إلى إطار البيانات التالي:

                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20061231  15.915       NaN     15.915  12.686
       20070630   7.907       NaN      7.907   6.459
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3