पंडों के डेटाफ़्रेम में निकटतम मान कैसे ज्ञात करें (उदाहरण के साथ)


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

 #find row with closest value to 101 in points column
df_closest = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:1]]

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

उदाहरण: पांडास डेटाफ़्रेम में निकटतम मान ज्ञात करें

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Nets', 'Hawks', 'Kings', 'Spurs', 'Cavs'],
                   ' points ': [99, 100, 96, 104, 89, 93]})

#view DataFrame
print (df)

    team points
0 Mavs 99
1 Nets 100
2 Hawks 96
3 Kings 104
4 Spurs 89
5 Cavs 93

अब मान लीजिए कि हम डेटाफ़्रेम की उस पंक्ति का चयन करना चाहते हैं जिसमें 101 के निकटतम डॉट कॉलम में एक मान है।

ऐसा करने के लिए हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #find row with closest value to 101 in points column
df_closest = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:1]]

#view results
print (df_closest)

   team points
1 Nets 100

परिणाम से, हम देख सकते हैं कि अंक कॉलम में नेट्स का मान 101 के निकटतम है।

ध्यान दें कि हम पांडा डेटाफ़्रेम में संपूर्ण पंक्ति के बजाय केवल निकटतम मान प्रदर्शित करने के लिए tolist() का भी उपयोग कर सकते हैं:

 #display value closest to 101 in the points column
df_closest[' points ']. tolist ()

[100]

यह भी ध्यान दें कि हम एकाधिक निकटतम मान खोजने के लिए argsort() फ़ंक्शन के बाद मान बदल सकते हैं।

उदाहरण के लिए, हम पॉइंट कॉलम में 101 के निकटतम 2 मानों के साथ डेटाफ़्रेम में पंक्तियों को खोजने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #find rows with two closest values to 101 in points column
df_closest2 = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:2]]

#view results
print (df_closest2)

   team points
1 Nets 100
0 Mavs 99

परिणाम से, हम देख सकते हैं कि नेट्स का पॉइंट कॉलम में निकटतम मान 101 है, जबकि माव्स का पॉइंट कॉलम में निकटतम मान 101 है।

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

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

पांडा: कॉलम मानों के आधार पर पंक्तियों का चयन कैसे करें
पांडा: समान स्तंभ मान वाली पंक्तियों को कैसे संयोजित करें
पांडा: कुछ को छोड़कर सभी पंक्तियों को कैसे हटाएं

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

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