Mohamed Elnemr نشر 8 سبتمبر 2021 أرسل تقرير نشر 8 سبتمبر 2021 لدي بيانات على الشكل التالي: 1 2 0 April 4.0 1 August 8.0 2 December 12.0 3 February 2.0 4 January 1.0 5 July 7.0 6 June 6.0 7 March 3.0 8 May 5.0 9 November 11.0 10 October 10.0 11 September 9.0 أريد ترتيبهم بناء على قيم العمود رقم 2 تصاعديا، كيف يمكنني فعل هذا؟ 2 اقتباس
0 Ali Haidar Ahmad نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 ليكن لدينا المثال التالي: df """ col1 col2 col3 col4 b ali 33 Up wq c ali 23 we qw a dac 23 we we e gsg 12 we ew f cds 66 ew ds g sdac 95 sdac dc i cd 55 adsc r j das 35 cda r k ads 12 cd vc d ad 88 cda Bhgu """ 1. فرز صفوف داتافريم بناءً على عمود معين: df.sort_values(by = 'col1') """ col1 col2 col3 col4 d ad 88 cda Bhgu k ads 12 cd vc b ali 33 Up wq c ali 23 we qw i cd 55 adsc r f cds 66 ew ds a dac 23 we we j das 35 cda r e gsg 12 we ew g sdac 95 sdac dc """ 2. اعتماداً على عدة أعمدة: df.sort_values(by = ['Name', 'Age']) 3. فرز الصفوف بناءً على عمود معين وترتيب تنازلي: df.sort_values(by = 'col', ascending = False) 4. لجعل عملية الفرز تتم على البيانات الأصلية نستخدم inplace: df.sort_values(by = 'Name', inplace = True) ليكن لدينا مثال آخر: Arabic Math Science English Ankit 75 50 60 70 Rahul 75 55 65 75 Aishwarya 75 35 45 25 Shivangi 75 90 60 70 Priya 76 90 70 60 Swapnil 90 80 70 60 Shaurya 65 10 30 20 1. فرز الأعمدة بناءً على سطر محدد: df.sort_values(by = 'Priya', axis = 1) """ English Science Arabic Math Ankit 70 60 75 50 Rahul 75 65 75 55 Aishwarya 25 45 75 35 Shivangi 70 60 75 90 Priya 60 70 76 90 Swapnil 60 70 90 80 Shaurya 20 30 65 10 """ وأخيراً يمكنك اختيار خوارزمية البحث التي تريدها من خلال الوسيط kind وهذه هي الخيارات المتوفرة: {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, default ‘quicksort’ لاستخدامها: DataFrame.sort_values(... ... kind='quicksort' .. . . ) ,ولتطبيق عملية ما قبل أن يطبق الفرز يمكن استخدام الوسيط key وتمرير الدالة المناسبة له. 1 اقتباس
0 Ahmed Sharshar نشر 8 سبتمبر 2021 أرسل تقرير نشر 8 سبتمبر 2021 يمكنك استخدام الدالة sort_values وذلك لترتيب قيم العناصر سواء تصاعيا أو تنازليا بناء على العمود الذي تريد، الكود التالي يوضح كيفية استخدامها: In [1]: df.sort_values(by=['2'], ascending=True) Out[1]: 1 2 4 January 1.0 3 February 2.0 7 March 3.0 0 April 4.0 8 May 5.0 6 June 6.0 5 July 7.0 1 August 8.0 11 September 9.0 10 October 10.0 9 November 11.0 2 December 12.0 اذا أردت الترتيب بشكل تنازلي يمكنك جعل ascending=False. اقتباس
0 محمد أبو عواد نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 كحل آخر ، يمكنك تصنيف البيانات النصية والتي هي في حالتك اسم الشهر وفرزها على النحو التالي: df.rename(columns={1:'month'},inplace=True) df['month'] = pd.Categorical(df['month'],categories=['December','November','October','September','August','July','June','May','April','March','February','January'],ordered=True) df = df.sort_values('month',ascending=False) سيعطيك البيانات المطلوبة حسب اسم الشهر كما حددته أثناء إنشاء الكائن اقتباس
السؤال
Mohamed Elnemr
لدي بيانات على الشكل التالي:
أريد ترتيبهم بناء على قيم العمود رقم 2 تصاعديا، كيف يمكنني فعل هذا؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.