पांडा डेटा हेरफेर के लिए एक शक्तिशाली पायथन लाइब्रेरी है। एक सामान्य कार्य कॉलम मानों के आधार पर DataFrame से पंक्तियों को हटाना है। यह लेख इसके लिए कुशल विधियों का पता लगाता है।
विषयवस्तु की तालिका
- बूलियन मास्किंग के साथ कुशल पंक्ति हटाना
.drop
विधि का उपयोग करना (कम कुशल)- बड़े डेटासेट के लिए प्रदर्शन पर विचार
बूलियन मास्किंग के साथ कुशल पंक्ति हटाना
बूलियन मास्किंग कॉलम के मानों के आधार पर पंक्तियों को हटाने का सबसे संक्षिप्त और कुशल तरीका प्रदान करता है। यह सीधे एक बूलियन स्थिति का उपयोग करके DataFrame को फ़िल्टर करता है।
import pandas as pd
# नमूना DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 25, 35],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
print("मूल DataFrame:n", df)
# उन पंक्तियों को हटाएँ जहाँ आयु 25 है
df = df[df['Age'] != 25]
print("nआयु 25 वाली पंक्तियों को हटाने के बाद DataFrame:n", df)
df['Age'] != 25
एक बूलियन सीरीज़ बनाता है। True
उन पंक्तियों को इंगित करता है जहाँ ‘आयु’ 25 नहीं है। इसका उपयोग df
को सीधे अनुक्रमित करने के लिए फ़िल्टर करता है, केवल उन पंक्तियों को रखता है जहाँ स्थिति True
है। यह सूचकांकों को खोजने के मध्यवर्ती चरण से बचाता है, विशेष रूप से बड़े डेटासेट के लिए गति और मेमोरी दक्षता में सुधार करता है।
.drop
विधि का उपयोग करना (कम कुशल)
.drop
विधि सूचकांक लेबल द्वारा पंक्तियों को हटा देती है। कॉलम मानों के आधार पर हटाने के लिए, आपको पहले बूलियन इंडेक्सिंग का उपयोग करके प्रासंगिक सूचकांकों की पहचान करने की आवश्यकता है।
import pandas as pd
# नमूना DataFrame (पहले जैसा ही)
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 25, 35],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
print("मूल DataFrame:n", df)
# उन पंक्तियों के सूचकांक की पहचान करें जहाँ आयु 25 है
indices_to_drop = df[df['Age'] == 25].index
# .drop का उपयोग करके पंक्तियों को हटाएँ
df = df.drop(indices_to_drop)
print("nआयु 25 वाली पंक्तियों को हटाने के बाद DataFrame:n", df)
#स्थान पर संशोधन (मूल DataFrame को सीधे संशोधित करता है)
#df.drop(indices_to_drop, inplace=True)
यह दृष्टिकोण, जबकि स्पष्ट है, बूलियन मास्किंग की तुलना में कम कुशल है, विशेष रूप से बड़े DataFrames के लिए, सूचकांकों की पहचान करने और फिर उन्हें छोड़ने के अतिरिक्त चरण के कारण।
बड़े डेटासेट के लिए प्रदर्शन पर विचार
छोटे डेटासेट के लिए, इन विधियों के बीच प्रदर्शन अंतर नगण्य हो सकता है। हालाँकि, बड़े डेटासेट के साथ, बूलियन मास्किंग .drop
विधि से काफी बेहतर प्रदर्शन करता है। बूलियन मास्किंग सीधे अंतर्निहित डेटा पर काम करता है, जबकि .drop
में एक नया DataFrame बनाना शामिल है, जिससे संभावित रूप से मेमोरी समस्याएँ और धीमी प्रसंस्करण समय हो सकता है।