पांडा: पंक्ति को अधिकतम मान के साथ रखते हुए डुप्लिकेट कैसे हटाएं


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

विधि 1: एक कॉलम में डुप्लिकेट हटाएं और अधिकतम के साथ पंक्ति रखें

 df. sort_values (' var2 ', ascending= False ). drop_duplicates (' var1 '). sort_index ()

विधि 2: एकाधिक कॉलमों में डुप्लिकेट हटाएं और अधिकतम के साथ पंक्ति रखें

 df. sort_values (' var3 ', ascending= False ). drop_duplicates ([' var1 ', ' var2 ']). sort_index ()

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।

उदाहरण 1: किसी कॉलम में डुप्लिकेट हटाएं और पंक्ति को अधिकतम के साथ रखें

मान लीजिए कि हमारे पास निम्नलिखित पांडा डेटाफ़्रेम है जिसमें विभिन्न टीमों के बास्केटबॉल खिलाड़ियों द्वारा बनाए गए अंकों के बारे में जानकारी है:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [20, 24, 28, 30, 14, 19, 29, 40, 22]})

#view DataFrame
print (df)

  team points
0 to 20
1 to 24
2 to 28
3 B 30
4 B 14
5 B 19
6 C 29
7 C 40
8 C 22

हम डुप्लिकेट टीम नामों वाली पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं लेकिन अंकों के लिए अधिकतम मान वाली पंक्तियाँ रख सकते हैं:

 #drop duplicate teams but keeps row with max points
df_new = df. sort_values (' points ', ascending= False ). drop_duplicates (' team '). sort_index ()

#view DataFrame
print (df_new)

  team points
2 to 28
3 B 30
7 C 40

डुप्लिकेट टीम नाम वाली प्रत्येक पंक्ति को हटा दिया गया था, लेकिन प्रत्येक टीम के लिए अधिकतम बिंदु मान वाली पंक्तियों को बरकरार रखा गया था।

उदाहरण 2: एकाधिक कॉलम में डुप्लिकेट हटाएं और अधिकतम के साथ पंक्ति रखें

मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' position ': ['G', 'G', 'F', 'G', 'F', 'F', 'G', 'G', 'F'],
                   ' points ': [20, 24, 28, 30, 14, 19, 29, 40, 22]})

#view DataFrame
print (df)

  team position points
0 AG 20
1 GA 24
2AF 28
3 BG 30
4 BF 14
5 BF 19
6 GC 29
7 GC 40
8 CF 22

हम डुप्लिकेट टीम और स्थिति नामों वाली पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं, लेकिन अंकों के लिए अधिकतम मान वाली पंक्तियाँ रख सकते हैं:

 #drop rows with duplicate team and positions but keeps row with max points
df_new = df. sort_values (' points ', ascending= False ). drop_duplicates ([' team ',' position ']). sort_index ()

#view DataFrame
print (df_new)

  team position points
1 GA 24
2AF 28
3 BG 30
5 BF 19
7 GC 40
8 CF 22

डुप्लिकेट टीम और स्थिति नाम वाली प्रत्येक पंक्ति को हटा दिया गया था, लेकिन प्रत्येक टीम और स्थिति संयोजन के लिए अधिकतम बिंदु मान वाली पंक्तियों को बरकरार रखा गया था।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:

पांडा में डुप्लिकेट पंक्तियाँ कैसे हटाएँ
पंडों में डुप्लिकेट कॉलम कैसे हटाएं
पांडा में डुप्लिकेट की गिनती कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *