الانضمام حسب النطاق في Pandas
في معالجة البيانات باستخدام Pandas، إحدى المهام الشائعة هي دمج إطاري بيانات بناءً على شرط النطاق. يتضمن ذلك تحديد الصفوف في إطار البيانات A حيث تقع القيم الموجودة في عمود معين ضمن نطاق محدد في إطار البيانات B.
يتضمن أحد الأساليب لهذه المهمة إنشاء عمود وهمي في كلا إطاري البيانات، وإجراء صلة متقاطعة باستخدام هذا العمود الوهمي، ثم تصفية الصفوف التي لا تفي بمعايير النطاق. ومع ذلك، يمكن أن تكون هذه الطريقة غير فعالة لمجموعات البيانات الكبيرة.
الحل البديل هو استخدام البث numpy، وهو أسلوب قوي لتنفيذ العمليات الحكيمة على المصفوفات. من خلال تحويل الأعمدة ذات الصلة في إطاري البيانات A وB إلى صفائف numpy، يمكننا تطبيق عوامل تشغيل منطقية لمقارنة A_value بقيم B_low وB_high لتحديد الصفوف التي تستوفي شرط النطاق.
import numpy as np # Convert to numpy arrays a = A.A_value.values bh = B.B_high.values bl = B.B_low.values # Find intersecting indices i, j = np.where((a[:, None] >= bl) & (a[:, None]توفر هذه الطريقة كفاءة أكبر لمجموعات البيانات الكبيرة مقارنة بنهج العمود الوهمي. بالإضافة إلى ذلك، فهو يسمح بالتنفيذ السهل للصلات اليمنى أو اليسرى عن طريق ضبط المنطق في خطوة البث غير الواضحة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3