Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python - Pandas DataFrame की पंक्तियों को रैंक करना

प्रदान किए गए डेटा फ्रेम में प्रत्येक पंक्ति की रैंकिंग वाला एक कॉलम जोड़ने से हमें डेटा फ्रेम को सॉर्ट करने और किसी विशेष तत्व की रैंक निर्धारित करने में मदद मिलेगी, उदाहरण के लिए:

हमारा डेटाफ्रेम

Name Play Time (in hours) Rate
0 Call Of Duty 45 Better than Average
1 Total Overdose 46 Good
2 GTA3 52 Best
3 Bully 22 Average

आउटपुट

Name Play Time (in hours) Rate ranking
0 Call Of Duty 45 Better than Average 3.0
1 Total Overdose 46 Good 2.0
2 GTA3 52 Best 1.0
3 Bully 22 Average 4.0

अब, जैसा कि आप उपरोक्त उदाहरण में देख सकते हैं, हमारी रैंकिंग पूरी संख्याएं हैं लेकिन उनके बगल में एक दशमलव है, इसका मतलब है कि हमारे पास वास्तविक संख्याओं में भी रैंकिंग हो सकती है, और ऐसा तब होता है जब डेटा फ्रेम में एक से अधिक तत्वों की समान रैंक होती है तो ऐसे मामलों में हमारी रैंकिंग तत्वों के बीच विभाजित हो जाती है। इसलिए, उनकी रैंक के रूप में एक वास्तविक संख्या होती है।

अब हम अपने डेटा फ्रेम को रैंक कैसे असाइन करते हैं

हमारे डेटाफ्रेम के तत्वों को रैंक असाइन करने के लिए, हम पांडा लाइब्रेरी के एक बिल्ट-इन फ़ंक्शन का उपयोग करते हैं जो .rank() फ़ंक्शन है। हम उस मानदंड को पास करते हैं जिस पर हम तत्वों को रैंक कर रहे हैं, और यह फ़ंक्शन प्रत्येक पंक्ति में एक नया कॉलम लौटाता है जहां रैंकिंग संग्रहीत होती है।

उदाहरण

.rank() फ़ंक्शन का उपयोग करने के लिए कोड है:

import pandas as pd

games = {
    'Name': ['Call Of Duty', 'Total Overdose', 'GTA 3', 'Bully'],
    'Play Time(in hours)': ['45', '46', '52', '22'],
    'Rate': ['Better than Average', 'Good', 'Best', 'Average']
}

df = pd.DataFrame(games)
df['ranking'] = df['Play Time(in hours)'].rank(ascending=0)
print(df)

आउटपुट

    Name  Play Time(in hours)          Rate  ranking
0  Call Of Duty                 45  Better than Average      3.0
1  Total Overdose               46                 Good      2.0
2  GTA 3                       52                 Best      1.0
3  Bully                       22              Average      4.0

उपरोक्त कोड की व्याख्या

इस कोड में, हम पांडा लाइब्रेरी के बिल्ट-इन फ़ंक्शन का उपयोग करके दिए गए डेटा फ्रेम में मौजूद प्रत्येक तत्व को रैंक कर रहे हैं। हम तत्वों को रैंक करने के लिए सर्वोत्तम मानदंड का उपयोग कॉलम 'Play Time(in hours)' के साथ कर सकते हैं।

अब हम अपने डेटा फ्रेम में 'ranking' नामक एक कॉलम जोड़ते हैं और इसमें अपना .rank() फ़ंक्शन उपयोग करते हैं और उस कॉलम का नाम पास करते हैं जिसके लिए हमें अपने तत्वों की रैंकिंग करने की आवश्यकता होती है (इस मामले में, यह Play Time(in hours) कॉलम है) अब जब हमारा नया कॉलम बन जाता है तो हम अपना डेटा फ्रेम प्रिंट करते हैं।

निष्कर्ष

इस ट्यूटोरियल में, हम अपने डेटा फ्रेम में पंक्तियों को रैंक करते हैं और फिर पांडा लाइब्रेरी और इसके बिल्ट-इन फ़ंक्शन का उपयोग करके अपना डेटा प्रिंट करते हैं। पांडा डेटाफ्रेम की पंक्तियों को रैंक करना एक आसान प्रक्रिया है, लेकिन आपको उपरोक्त विधि का सही ढंग से पालन करने की आवश्यकता है।

  1. पायथन पैंडास - DataFrame से पंक्तियों के सबसेट का चयन करें पायथन पैंडास - DataFrame से पंक्तियों के सबसेट का चयन करें

    पंक्तियों के सबसेट का चयन करने के लिए शर्तों का उपयोग करें और डेटा प्राप्त करें।मान लीजिए हमारी CSV फ़ाइल की सामग्री Microsoft Excel में निम्नलिखित है:सबसे पहले, CSV फ़ाइल से डेटा पैंडास DataFrame में लोड करें:dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv)मान लीजिए हम Units 100 से

  1. - पायथन पैंडास - डेटाफ्रेम से मल्टीइंडेक्स बनाएं

    डेटाफ्रेम से मल्टीइंडेक्स बनाने के लिए, MultiIndex.from_frame() मेथड का उपयोग करें। पहले, सूचियों का एक डिक्शनरी बनाएं: d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-22]} अब, उपरोक्त सूचियों के डि

  1. पायथन - पैंडास डेटाफ्रेम से नल पंक्तियों को कैसे हटाएं पायथन - पैंडास डेटाफ्रेम से नल पंक्तियों को कैसे हटाएं

    पैंडास डेटाफ्रेम में नल पंक्तियों को हटाने के लिए, dropna() मेथड का उपयोग करें। मान लीजिए निम्नलिखित हमारी CSV फ़ाइल है जिसमें कुछ NaN यानी नल मान हैं: read_csv() का उपयोग करके CSV फ़ाइल पढ़ें। हमारा CSV डेस्कटॉप पर है: dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\CarRecords.csv) dropna() का