يوفر Pandas عددًا من الطرق لتصفية البيانات، بما في ذلك إعادة الفهرسة ()، وتطبيق ()، وخريطة () . ومع ذلك، عند تطبيق مرشحات متعددة، تصبح الكفاءة مصدر قلق.
للحصول على تصفية محسنة، فكر في استخدام الفهرسة المنطقية. يدعم كل من Pandas وNumpy الفهرسة المنطقية، والتي تعمل مباشرة على مصفوفة البيانات الأساسية دون إنشاء نسخ غير ضرورية.
إليك مثال على الفهرسة المنطقية:
df.loc[df['col1'] >= 1, 'col1']
يرجع هذا التعبير سلسلة Pandas التي تحتوي فقط على الصفوف التي تكون فيها القيم الموجودة في العمود 'col1' أكبر من أو تساوي 1.
إلى قم بتطبيق عوامل تصفية متعددة، واستخدم العوامل المنطقية '&' (AND) و'|' (أو). على سبيل المثال:
df[(df['col1'] >= 1) & (df['col1'] <=1 )]
يُرجع هذا التعبير DataFrame الذي يحتوي فقط على الصفوف التي تتراوح فيها القيم الموجودة في العمود 'col1' بين 1 و1 ضمنًا.
For الوظائف المساعدة، فكر في تحديد الوظائف التي تأخذ DataFrame وترجع سلسلة منطقية، مما يسمح لك بدمج مرشحات متعددة باستخدام عوامل التشغيل المنطقية.
def b(x, col, op, n):
return op(x[col],n)
def f(x, *b):
return x[(np.logical_and(*b))]
يقدم Pandas 0.13 طريقة query()، والتي توفر طريقة أكثر فعالية للتعبير عن شروط التصفية المعقدة. بافتراض أن معرفات الأعمدة صالحة، تقوم التعليمات البرمجية التالية بتصفية DataFrame df بناءً على شروط متعددة:
df.query('col1 <= 1 & 1 <= col1')
باختصار، توفر الفهرسة المنطقية طريقة فعالة لتطبيق مرشحات متعددة على Pandas DataFrames أو Series دون إنشاء نسخ غير ضرورية. استخدم عوامل التشغيل المنطقية والوظائف المساعدة للجمع بين مرشحات متعددة للحصول على وظائف موسعة. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3