पांडा: स्ट्रिंग की लंबाई के आधार पर पंक्तियों को कैसे फ़िल्टर करें


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

विधि 1: एक कॉलम में स्ट्रिंग की लंबाई के आधार पर पंक्तियों को फ़िल्टर करें

 #filter rows where col1 has a string length of 5
df. loc [df[' col1 ']. str . len () == 5 ]

विधि 2: एकाधिक स्तंभों की स्ट्रिंग लंबाई के आधार पर पंक्तियों को फ़िल्टर करें

 #filter rows where col1 has string length of 5 and col2 has string length of 7
df. loc [(df[' col1 ']. str . len () == 5 ) & (df[' col2 ']. str . len () == 7 )]

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' conf ': ['East', 'East', 'North', 'West', 'North', 'South'],
                   ' pos ': ['Guard', 'Guard', 'Forward', 'Center', 'Center', 'Forward'],
                   ' points ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

    conf pos points
0 East Guard 5
1 East Guard 7
2 North Forward 7
3 West Center 9
4 North Center 12
5 South Forward 9

उदाहरण 1: किसी कॉलम में स्ट्रिंग की लंबाई के आधार पर पंक्तियों को फ़िल्टर करें

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

 #filter rows where conf has a string length of 5
df. loc [df[' conf ']. str . len () == 5 ]

	conf pos points
2 North Forward 7
4 North Center 12
5 South Forward 9

केवल वे पंक्तियाँ जहाँ कॉन्फ कॉलम की स्ट्रिंग लंबाई 5 है, वापस कर दी जाती हैं।

हम देख सकते हैं कि दो अलग-अलग स्ट्रिंग कॉन्फ कॉलम में इस मानदंड को पूरा करते हैं:

  • “उत्तर”
  • “दक्षिण”

दोनों तारों की लंबाई 5 है।

उदाहरण 2: एकाधिक स्तंभों की स्ट्रिंग लंबाई के आधार पर पंक्तियों को फ़िल्टर करें

निम्नलिखित कोड दिखाता है कि डेटाफ़्रेम से उन पंक्तियों को कैसे फ़िल्टर किया जाए जिनकी कॉन्फ़ कॉलम में स्ट्रिंग की लंबाई 5 है और पॉज़ कॉलम में स्ट्रिंग की लंबाई 7 है:

 #filter rows where conf has string length of 5 and pos has string length of 7
df. loc [(df[' conf ']. str . len () == 5 ) & (df[' pos ']. str . len () == 7 )]

        conf pos points
2 North Forward 7
5 South Forward 9

केवल वे पंक्तियाँ जहाँ कॉन्फ़ कॉलम की स्ट्रिंग लंबाई 5 है और पॉज़ कॉलम की बल लंबाई 7 है, वापस कर दी जाती हैं।

नोट : आप पांडा में str.len() फ़ंक्शन का पूरा दस्तावेज़ यहां पा सकते हैं।

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

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

स्थिति के आधार पर पांडा डेटाफ़्रेम में पंक्तियों को कैसे हटाएं
पांडा डेटाफ़्रेम को अनेक स्थितियों पर कैसे फ़िल्टर करें
पांडास डेटाफ़्रेम में “नॉट इन” फ़िल्टर का उपयोग कैसे करें

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

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