पांडा: अद्वितीय मान कैसे खोजें और nan को कैसे अनदेखा करें
आप अद्वितीय मानों के लिए पांडा को खोजने और NaN मानों को अनदेखा करने के लिए निम्नलिखित कस्टम फ़ंक्शन को परिभाषित कर सकते हैं:
def unique_no_nan(x): return x. dropna (). single ()
यह फ़ंक्शन एक पांडा श्रृंखला लौटाएगा जिसमें NaN मानों को छोड़कर प्रत्येक अद्वितीय मान शामिल है।
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ विभिन्न परिदृश्यों में इस फ़ंक्शन का उपयोग कैसे करें:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Celtics', 'Celtics', 'Celtics'], ' points ': [95, 95, 100, 113, 100, np.nan]}) #view DataFrame print (df) team points 0 Mavs 95.0 1 Mavs 95.0 2 Mavs 100.0 3 Celtics 113.0 4 Celtics 100.0 5 Celtics NaN
उदाहरण 1: पांडा कॉलम में अद्वितीय मान खोजें और NaN मानों को अनदेखा करें
मान लीजिए कि हम डेटाफ़्रेम के पॉइंट कॉलम में सभी अद्वितीय मान प्रदर्शित करने के लिए पांडा अद्वितीय() फ़ंक्शन का उपयोग करते हैं:
#display unique values in 'points' column df[' points ']. single () array([ 95., 100., 113., no])
ध्यान दें कि यूनिक() फ़ंक्शन में डिफ़ॉल्ट रूप से परिणामों में nan शामिल होता है।
हालाँकि, मान लीजिए कि हम इसके बजाय अंक कॉलम में अद्वितीय मान प्रदर्शित करने के लिए अपने कस्टम यूनिक_नो_नान() फ़ंक्शन का उपयोग करते हैं:
#display unique values in 'points' column and ignore NaN unique_no_nan(df[' points ']) array([ 95., 100., 113.])
हमारा फ़ंक्शन पॉइंट कॉलम में प्रत्येक अद्वितीय मान लौटाता है, जिसमें NaN शामिल नहीं है।
उदाहरण 2: पांडास ग्रुपबी में अद्वितीय मान खोजें और NaN मानों को अनदेखा करें
मान लीजिए कि हम टीम कॉलम द्वारा समूहीकृत पॉइंट कॉलम में सभी अद्वितीय मान प्रदर्शित करने के लिए पांडा ग्रुपबी() और एजीजी() फ़ंक्शन का उपयोग करते हैं:
#display unique values in 'points' column grouped by team df. groupby (' team ')[' points ']. agg ([' single ']) unique team Celtics [113.0, 100.0, nah] Mavs [95.0, 100.0]
ध्यान दें कि यूनिक() फ़ंक्शन में डिफ़ॉल्ट रूप से परिणामों में nan शामिल होता है।
हालाँकि, मान लीजिए कि हम इसके बजाय टीम कॉलम द्वारा समूहीकृत अंक कॉलम में अद्वितीय मान प्रदर्शित करने के लिए अपने कस्टम यूनिक_नो_नान() फ़ंक्शन का उपयोग करते हैं:
#display unique values in 'points' column grouped by team and ignore NaN df. groupby (' team ')[' points ']. apply ( lambda x: unique_no_nan(x)) team Celtics [113.0, 100.0] Mavs [95.0, 100.0] Name: points, dtype: object
हमारा फ़ंक्शन प्रत्येक टीम के लिए अंक कॉलम में प्रत्येक अद्वितीय मान लौटाता है, NaN मानों की गणना नहीं करता है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य कार्य कैसे करें:
पांडा: डेटाफ़्रेम में एकल पंक्तियों का चयन कैसे करें
पांडा: इंडेक्स कॉलम से अद्वितीय मान कैसे प्राप्त करें
पांडा: दो स्तंभों के अद्वितीय संयोजनों की गणना कैसे करें