إطار بيانات Pandas: استبدال القيمة المستهدفة بناءً على الشروط
في Pandas، غالبًا ما يكون من الضروري تعديل قيم محددة داخل DataFrame بناءً على معايير معينة . في حين أن النهج الشائع هو استخدام loc لتحديد الصفوف، فمن الضروري فهم كيفية استهداف عمود معين بدقة لتعديل القيمة.
خذ في الاعتبار DataFrame التالي، حيث نرغب في استبدال القيم في "الموسم الأول" العمود الذي يتجاوز 1990 مع العدد الصحيح 1:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
أدت المحاولة الأولية باستخدام وظيفة loc فقط إلى استبدال جميع القيم في الصفوف المحددة بدلاً من العمود المستهدف فقط. لتصحيح هذا، نحتاج إلى تحديد عمود "الموسم الأول" بشكل صريح باعتباره الوسيط الثاني لـ loc:
df.loc[df['First Season'] > 1990, 'First Season'] = 1df.loc[df['First Season'] > 1990, 'First Season'] = 1يضمن هذا النهج المستهدف أن القيم الموجودة في عمود "الموسم الأول" فقط هي التي تستوفي الشرط ويتم استبدالها بـ 1، مع ترك الأعمدة الأخرى غير متأثرة. إجمالي ألعاب الموسم الأول للفريق 0 دالاس كاوبويز 1960 894 1 شيكاغو بيرز 1920 1357 2 جرين باي باكرز 1921 1339 3 ميامي دولفينز 1966 792 4 بالتيمور رافينز 1326 5 San Franciso 49ers 1950 1003
df.loc[df['First Season'] > 1990, 'First Season'] = 1بدلاً من ذلك، إذا كانت النتيجة المطلوبة هي مؤشر منطقي، فيمكنك استخدام الشرط لإنشاء سلسلة منطقية وتحويلها إلى أعداد صحيحة، حيث تترجم True وFalse إلى 1 و0 على التوالي. :df['First Season'] = (df['First Season'] > 1990).astype(int)
df.loc[df['First Season'] > 1990, 'First Season'] = 1ينتج عن هذا الأسلوب DataFrame بقيم محدثة: إجمالي ألعاب الموسم الأول للفريق 0 دالاس كاوبويز 0894 1 شيكاغو بيرز 0 1357 2 جرين باي باكرز 0 1339 3 ميامي دولفينز 0792 4 بالتيمور رافينز 1326 5 سان فرانسيسكو 49ers 0 1003
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3