DataFrame से पंक्तियाँ/कॉलम हटाना
DataFrame.drop() विधि लेबल या इंडेक्स के आधार पर पंक्तियाँ या कॉलम हटाती है।
1. पंक्तियाँ हटाना (Rows)
import pandas as pd
# CSV से पढ़ें (उदाहरण: iris डेटासेट)
data = pd.read_csv("iris1.csv", index_col="Id")
print("मूल आकार:", data.shape) # (150, 5)
# इंडेक्स लेबल 6, 9, 10 वाली पंक्तियाँ हटाएं
data.drop([6, 9, 10], inplace=True)
print("हटाने के बाद आकार:", data.shape) # (147, 5)
पैरामीटर्स:
labels— हटाने के लिए इंडेक्स लेबल (सूची या स्केलर)।axis=0— पंक्तियाँ (डिफ़ॉल्ट)।inplace=True— मूल DataFrame संशोधित करें (नया न बनाएं)।
2. कॉलम हटाना (Columns)
import pandas as pd
data = pd.read_csv("iris1.csv", index_col="Id")
print("मूल कॉलम:", data.columns.tolist())
# ['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm', 'Species']
# दो कॉलम हटाएं
data.drop(['SepalWidthCm', 'PetalLengthCm'], axis=1, inplace=True)
print("हटाने के बाद कॉलम:", data.columns.tolist())
# ['SepalLengthCm', 'PetalWidthCm', 'Species']
print("नया आकार:", data.shape) # (150, 3)
पैरामीटर्स:
axis=1याaxis='columns'— कॉलम हटाने के लिए।columns=['col1', 'col2']— वैकल्पिक स्पष्ट पैरामीटर (पैंडास 0.21+):data.drop(columns=['A', 'B'])।
3. शर्त आधारित हटाना
# शर्त के आधार पर पंक्तियाँ हटाएं data = data.drop(data[data['SepalLengthCm'] < 5.0].index) # या बूलियन इंडेक्सिंग (अधिक सामान्य) data = data[data['SepalLengthCm'] >= 5.0]
आउटपुट सारांश
मूल: [150 rows x 5 columns] पंक्तियाँ हटाने के बाद: [147 rows x 5 columns] कॉलम हटाने के बाद: [150 rows x 3 columns]
नोट: inplace=True से मूल ऑब्जेक्ट बदलता है और None लौटाता है। चेनिंग के लिए inplace=False (डिफ़ॉल्ट) उपयोग करें।