कॉलम मानों के आधार पर पंक्तियों को पुनःक्रमित करने के लिए sort_values() का उपयोग करें। DataFrame के इंडेक्स के आधार पर पंक्तियों को पुनर्व्यवस्थित करने के लिए sort_index() लागू करें। अलग-अलग कोणों से डेटा का पता लगाने के लिए दोनों तरीकों को मिलाएँ।
किसी DataFrame में दिलचस्प डेटा खोजना अक्सर आसान हो जाता है यदि आप पंक्तियों के क्रम को बदल दें। आप .sort_values() में कॉलम का नाम पास करके पंक्तियों को क्रमबद्ध कर सकते हैं।
जहाँ पंक्तियों का मान समान हो (यदि आप किसी श्रेणीबद्ध चल पर सॉर्ट करते हैं तो यह सामान्य है), वहाँ आप किसी दूसरे कॉलम पर सॉर्ट करके टाई तोड़ना चाह सकते हैं। आप कॉलम नामों की एक सूची पास करके इस तरह कई कॉलम पर सॉर्ट कर सकते हैं।
sort_values() के साथ कॉलम मानों के आधार पर पंक्तियाँ सॉर्ट करना
आप पंक्तियों को इस तरह क्रमबद्ध कर सकते हैं कि DataFrame के शीर्ष पर सबसे दिलचस्प डेटा आ जाए।
एकल कॉलम के आधार पर सॉर्ट करें
उदाहरण के लिए, जब हम dogs DataFrame के weight_kg कॉलम पर sort_values() लगाते हैं, तो सबसे ऊपर सबसे हल्का कुत्ता आता है—चिहुआहुआ Stella—और सबसे नीचे सबसे भारी कुत्ता—सेंट बर्नार्ड Bernie।
name breed color height_cm weight_kg date_of_birth
5 Stella Chihuahua Tan 1822015-04-203 Cooper Schnauzer Gray 49172011-12-110 Bella Labrador Brown 56242013-07-011 Charlie Poodle Black 43242016-09-162 Lucy Chow Chow Brown 46242014-08-254 Max Labrador Black 59292017-01-206 Bernie St. Bernard White 77742018-02-27संचालित द्वारा
ascending आर्ग्युमेंट को False करने पर डेटा उल्टी दिशा में सॉर्ट होगा, यानी सबसे भारी से सबसे हल्के कुत्ते तक।
dogs.sort_values("weight_kg", ascending=False)संचालित द्वारा
name breed color height_cm weight_kg date_of_birth
6 Bernie St. Bernard White 77742018-02-274 Max Labrador Black 59292017-01-200 Bella Labrador Brown 56242013-07-011 Charlie Poodle Black 43242016-09-162 Lucy Chow Chow Brown 46242014-08-253 Cooper Schnauzer Gray 49172011-12-115 Stella Chihuahua Tan 1822015-04-20संचालित द्वारा
एकाधिक कॉलम के आधार पर सॉर्ट करें
हम sort_values में कॉलम नामों की सूची पास करके कई चरों के आधार पर सॉर्ट कर सकते हैं। यहाँ, हम पहले वज़न, फिर कद के आधार पर सॉर्ट करते हैं। अब Charlie, Lucy, और Bella, भले ही उनका वज़न समान है, सबसे छोटे से सबसे लंबे क्रम में हैं।
dogs.sort_values(["weight_kg","height_cm"])संचालित द्वारा
name breed color height_cm weight_kg date_of_birth
5 Stella Chihuahua Tan 1822015-04-203 Cooper Schnauzer Gray 49172011-12-111 Charlie Poodle Black 43242016-09-162 Lucy Chow Chow Brown 46242014-08-250 Bella Labrador Brown 56242013-07-014 Max Labrador Black 59292017-01-206 Bernie St. Bernard White 77742018-02-27संचालित द्वारा
मानों के सॉर्ट होने की दिशा बदलने के लिए, ascending आर्ग्युमेंट में सूची पास करें, ताकि हर चर के लिए सॉर्टिंग की दिशा निर्दिष्ट की जा सके। अब Charlie, Lucy, और Bella सबसे लंबे से सबसे छोटे क्रम में हैं।
dogs.sort_values(["weight_kg","height_cm"], ascending=[True,False])संचालित द्वारा
name breed color height_cm weight_kg date_of_birth
5 Stella Chihuahua Tan 1822015-04-203 Cooper Schnauzer Gray 49172011-12-110 Bella Labrador Brown 56242013-07-012 Lucy Chow Chow Brown 46242014-08-251 Charlie Poodle Black 43242016-09-164 Max Labrador Black 59292017-01-206 Bernie St. Bernard White 77742018-02-27संचालित द्वारा
sort_index() के साथ रो इंडेक्स के आधार पर सॉर्ट करना
कभी-कभी आप अलग-अलग कॉलम की बजाय पंक्ति लेबल्स (अर्थात, DataFrame का इंडेक्स) के आधार पर पंक्तियों को पुनःक्रमित करना चाहेंगे। ऐसे में आप sort_values() के बजाय sort_index() मेथड का उपयोग कर सकते हैं। याद रखें, डिफॉल्ट रूप से sort_index() आपकी पंक्तियों को उनके इंडेक्स के आधार पर आरोही क्रम में सॉर्ट करता है:
# Sort rows by their index (ascending)
dogs_sorted = dogs.sort_index()print(dogs_sorted)संचालित द्वारा
यदि आपको पंक्तियों को अवरोही क्रम में सॉर्ट करना हो, तो बस ascending=False पास करें:
# Sort rows by their index (descending)
dogs_sorted_desc = dogs.sort_index(ascending=False)print(dogs_sorted_desc)संचालित द्वारा
इसी तरह, यदि आपके पास बहु-स्तरीय (हाइरार्किकल) इंडेक्स है, तो sort_index() कई स्तरों को सॉर्ट करके उसे भी संभाल सकता है। आपको बस level या ascending पैरामीटर में सूची पास करनी है (ठीक वैसे ही जैसे पहले हमने sort_values() के लिए सूची पास की थी):
# Sort rows by multiple levels of a multi-level index
dogs_sorted_multi = dogs.sort_index(level=[0,1], ascending=[True,False])print(dogs_sorted_multi)संचालित द्वारा
Pandas Sort Values इंटरैक्टिव उदाहरण
निम्न उदाहरण में, आप homelessness को बेघर व्यक्तियों की संख्या के आधार पर सबसे कम से सबसे अधिक तक सॉर्ट करेंगे और इसे homelessness_ind के रूप में सुरक्षित करेंगे। अंत में, आप सॉर्ट किए गए DataFrame का हेड प्रिंट करेंगे।
# Sort homelessness by individuals
homelessness_ind = homelessness.sort_values("individuals")# Print the top few rowsprint(homelessness_ind.head())संचालित द्वारा
जब हम उपरोक्त कोड चलाते हैं, तो यह निम्नलिखित परिणाम देता है:
region state individuals family_members state_pop
50 Mountain Wyoming 434.0205.057760134 West North Central North Dakota 467.075.07580807 South Atlantic Delaware 708.0374.096547939 New England Rhode Island 747.0354.0105828745 New England Vermont 780.0511.0624358संचालित द्वारा
डेटा के सॉर्टिंग और सबसेटिंग के बारे में अधिक जानने के लिए, हमारे कोर्स Data Manipulation with pandas का यह वीडियो देखें।
यह सामग्री DataCamp के Data Manipulation with pandas कोर्स से ली गई है, जिसे Maggie Matsui और Richie Cotton ने तैयार किया है।
आगे की सीख
हमने इस लेख में, अन्य बातों के साथ, यह सीखा कि sort_index() बनाम sort_values() का उपयोग कब करें: जब आप पंक्तियों को कॉलम मानों के आधार पर पुनःक्रमित करना चाहें तो sort_values() का उपयोग करें; जब आप पंक्तियों को रो लेबल्स (DataFrame के इंडेक्स) के आधार पर पुनःक्रमित करना चाहें तो sort_index() का उपयोग करें।
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
किसी DataFrame में दिलचस्प डेटा खोजना अक्सर आसान हो जाता है यदि आप पंक्तियों के क्रम को बदल दें। आप
.sort_values()में कॉलम का नाम पास करके पंक्तियों को क्रमबद्ध कर सकते हैं।जहाँ पंक्तियों का मान समान हो (यदि आप किसी श्रेणीबद्ध चल पर सॉर्ट करते हैं तो यह सामान्य है), वहाँ आप किसी दूसरे कॉलम पर सॉर्ट करके टाई तोड़ना चाह सकते हैं। आप कॉलम नामों की एक सूची पास करके इस तरह कई कॉलम पर सॉर्ट कर सकते हैं।
sort_values() के साथ कॉलम मानों के आधार पर पंक्तियाँ सॉर्ट करना
आप पंक्तियों को इस तरह क्रमबद्ध कर सकते हैं कि DataFrame के शीर्ष पर सबसे दिलचस्प डेटा आ जाए।
एकल कॉलम के आधार पर सॉर्ट करें
उदाहरण के लिए, जब हम dogs DataFrame के
weight_kgकॉलम परsort_values()लगाते हैं, तो सबसे ऊपर सबसे हल्का कुत्ता आता है—चिहुआहुआ Stella—और सबसे नीचे सबसे भारी कुत्ता—सेंट बर्नार्ड Bernie।ascendingआर्ग्युमेंट को False करने पर डेटा उल्टी दिशा में सॉर्ट होगा, यानी सबसे भारी से सबसे हल्के कुत्ते तक।एकाधिक कॉलम के आधार पर सॉर्ट करें
हम
sort_valuesमें कॉलम नामों की सूची पास करके कई चरों के आधार पर सॉर्ट कर सकते हैं। यहाँ, हम पहले वज़न, फिर कद के आधार पर सॉर्ट करते हैं। अब Charlie, Lucy, और Bella, भले ही उनका वज़न समान है, सबसे छोटे से सबसे लंबे क्रम में हैं।मानों के सॉर्ट होने की दिशा बदलने के लिए,
ascendingआर्ग्युमेंट में सूची पास करें, ताकि हर चर के लिए सॉर्टिंग की दिशा निर्दिष्ट की जा सके। अब Charlie, Lucy, और Bella सबसे लंबे से सबसे छोटे क्रम में हैं।sort_index() के साथ रो इंडेक्स के आधार पर सॉर्ट करना
कभी-कभी आप अलग-अलग कॉलम की बजाय पंक्ति लेबल्स (अर्थात, DataFrame का इंडेक्स) के आधार पर पंक्तियों को पुनःक्रमित करना चाहेंगे। ऐसे में आप
sort_values()के बजायsort_index()मेथड का उपयोग कर सकते हैं। याद रखें, डिफॉल्ट रूप सेsort_index()आपकी पंक्तियों को उनके इंडेक्स के आधार पर आरोही क्रम में सॉर्ट करता है:यदि आपको पंक्तियों को अवरोही क्रम में सॉर्ट करना हो, तो बस
ascending=Falseपास करें:इसी तरह, यदि आपके पास बहु-स्तरीय (हाइरार्किकल) इंडेक्स है, तो
sort_index()कई स्तरों को सॉर्ट करके उसे भी संभाल सकता है। आपको बसlevelयाascendingपैरामीटर में सूची पास करनी है (ठीक वैसे ही जैसे पहले हमनेsort_values()के लिए सूची पास की थी):Pandas Sort Values इंटरैक्टिव उदाहरण
निम्न उदाहरण में, आप
homelessnessको बेघर व्यक्तियों की संख्या के आधार पर सबसे कम से सबसे अधिक तक सॉर्ट करेंगे और इसेhomelessness_indके रूप में सुरक्षित करेंगे। अंत में, आप सॉर्ट किए गए DataFrame का हेड प्रिंट करेंगे।जब हम उपरोक्त कोड चलाते हैं, तो यह निम्नलिखित परिणाम देता है:
खुद आज़माएँ।
डेटा के सॉर्टिंग और सबसेटिंग के बारे में अधिक जानने के लिए, हमारे कोर्स Data Manipulation with pandas का यह वीडियो देखें।
यह सामग्री DataCamp के Data Manipulation with pandas कोर्स से ली गई है, जिसे Maggie Matsui और Richie Cotton ने तैयार किया है।
आगे की सीख
हमने इस लेख में, अन्य बातों के साथ, यह सीखा कि
sort_index()बनामsort_values()का उपयोग कब करें: जब आप पंक्तियों को कॉलम मानों के आधार पर पुनःक्रमित करना चाहें तोsort_values()का उपयोग करें; जब आप पंक्तियों को रो लेबल्स (DataFrame के इंडेक्स) के आधार पर पुनःक्रमित करना चाहें तोsort_index()का उपयोग करें।सीखते रहने के लिए हमारे पास कई अन्य उपयोगी pandas ट्यूटोरियल हैं, जिनमें The ultimate Guide to Pandas for Beginners भी शामिल है, ताकि आप अभ्यास जारी रख सकें। हमारे पास आम समस्याओं के लिए अन्य विशिष्ट हाउ-टू भी हैं, जैसे How to Import CSV Data into Pandas और How to Join DataFrames in Pandas। साथ ही, अपने कौशल में लगातार सुधार के लिए हमारा Python Programming स्किल ट्रैक करना न भूलें।