पांडा में nan मान वाली पंक्तियों को कैसे हटाएं


अक्सर आप पांडा डेटाफ़्रेम में NaN मान वाली पंक्तियों को हटाना चाह सकते हैं। सौभाग्य से, पांडा ड्रॉपना() फ़ंक्शन का उपयोग करके ऐसा करना आसान है।

यह ट्यूटोरियल निम्नलिखित पांडा डेटाफ़्रेम पर इस फ़ंक्शन का उपयोग करने के कई उदाहरण दिखाता है:

 import numpy as np
import scipy.stats as stats

#create DataFrame with some NaN values
df = pd.DataFrame({'rating': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   'points': [np.nan, 25, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df


        rating points assists rebounds
0 NaN NaN 5.0 11
1 85.0 25.0 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

उदाहरण 1: NaN मान वाली पंक्तियाँ हटाएँ

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

 df. dropna ()

	rating points assists rebounds
1 85.0 25.0 7.0 8
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

उदाहरण 2: सभी NaN मानों वाली पंक्तियाँ हटाएँ

हम प्रत्येक कॉलम में सभी NaN मान वाली सभी पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 df. dropna (how=' all ') 

        rating points assists rebounds
0 NaN NaN 5.0 11
1 85.0 25.0 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

इस विशेष डेटाफ़्रेम में सभी NaN मानों वाली कोई पंक्तियाँ नहीं थीं, इसलिए कोई भी पंक्तियाँ हटाई नहीं गईं।

उदाहरण 3: एक निश्चित सीमा से नीचे की पंक्तियाँ हटाएँ

हम उन सभी पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जिनमें कम से कम एक निश्चित संख्या में गैर-NaN मान नहीं हैं:

 df. dropna (thresh= 3 ) 

	rating points assists rebounds
1 85.0 25.0 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

मूल डेटाफ़्रेम की पहली पंक्ति में कम से कम 3 गैर-NaN मान नहीं थे, इसलिए वह एकमात्र पंक्ति थी जिसे हटा दिया गया था।

उदाहरण 4: किसी विशिष्ट कॉलम में नैन मान वाली पंक्ति हटाएँ

हम किसी विशिष्ट कॉलम में NaN मान वाली सभी पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 df. dropna (subset=[' assists '])

	rating points assists rebounds
0 NaN NaN 5.0 11
1 85.0 25.0 7.0 8
2 NaN 14.0 7.0 10
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

उदाहरण 5: NaN वाली पंक्तियों को हटाने के बाद सूचकांक को रीसेट करें

हम NaN मानों वाली पंक्तियों को हटाने के बाद डेटाफ़्रेम के सूचकांक को रीसेट करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #drop all rows that have any NaN values
df = df. dropna ()

#reset index of DataFrame
df = df. reset_index (drop=True)

#view DataFrame
df

        rating points assists rebounds
0 85.0 25.0 7.0 8
1 94.0 27.0 5.0 6
2 90.0 20.0 7.0 9
3 76.0 12.0 6.0 6
4 75.0 15.0 9.0 10
5 87.0 14.0 9.0 10
6 86.0 19.0 5.0 77

आप ड्रॉपना() फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।

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

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