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

كيفية فرز إطار بيانات Pandas بواسطة أعمدة متعددة بترتيب تصاعدي وتنازلي؟

تم النشر بتاريخ 2024-12-22
تصفح:136

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

فرز إطار بيانات Pandas بواسطة أعمدة متعددة

يعد فرز إطار بيانات Pandas حسب أعمدة متعددة عملية شائعة في تحليل البيانات. فكر في إطار بيانات يحتوي على الأعمدة "أ" و"ب" و"ج". لفرز إطار البيانات هذا حسب العمود "b" بترتيب تصاعدي والعمود "c" بترتيب تنازلي، اتبع الخطوات التالية:

بدءًا من الإصدار 0.17.0 من Pandas، تم إهمال طريقة الفرز لصالح قيم_الفرز. اعتبارًا من الإصدار 0.20.0، تمت إزالة الفرز بالكامل. ومع ذلك، تظل الوسيطات والنتائج دون تغيير:

df.sort_values(['a', 'b'], ascending=[True, False])

طريقة مكافئة باستخدام الفرز المهمل الطريقة هي:

df.sort(['a', 'b'], ascending=[True, False])

على سبيل المثال، ضع في اعتبارك إطار بيانات df1 بقيم أعداد صحيحة عشوائية في العمودين 'a' و'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])

فرز إطار البيانات هذا حسب 'a' تصاعديًا الترتيب و"b" بترتيب تنازلي يعطي:

df1.sort(['a', 'b'], ascending=[True, خطأ])
df1.sort(['a', 'b'], ascending=[True, False])
أ ب 2 1 4 7 1 3 1 1 2 3 1 2 4 3 2 6 4 4 0 4 3 9 4 3 5 4 1 8 4 1
df1.sort(['a', 'b'], ascending=[True, False])
تذكر أن طريقة الفرز ليست في مكانها بشكل افتراضي. لتحديث df1 بالقيم التي تم فرزها، قم بتعيين نتيجة أسلوب الفرز إلى df1 أو استخدم inplace=True في استدعاء الأسلوب:

df1 = df1.sort(['a', 'b'], ascending =[صواب، خطأ])
df1.sort(['a', 'b'], ascending=[True, False])
أو

df1.sort(['a', 'b'], تصاعدي=[صحيح، خطأ]، inplace=صحيح)
            
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3