Pandas DataFrame में हम विभिन्न तुलनात्मक ऑपरेशन्स का उपयोग करके कॉलम मानों को फ़िल्टर कर सकते हैं। जैसे df[col] < 5, df[col] == 10, df[col] > 2 आदि। ये ऑपरेशन्स बूलियन Series लौटाते हैं जिनका उपयोग पंक्तियों को फ़िल्टर करने के लिए किया जा सकता है।
चरण
- एक DataFrame बनाएं।
- इनपुट DataFrame प्रिंट करें।
- एक कॉलम नाम को वेरिएबल में स्टोर करें।
- तुलनात्मक ऑपरेशन्स करें।
- परिणामी बूलियन Series प्रिंट करें।
उदाहरण
import pandas as pd
df = pd.DataFrame({
"x": [5, 2, 7, 0],
"y": [4, 7, 5, 1],
"z": [9, 3, 5, 1]
})
print("Input DataFrame:\n", df)
# कॉलम 'x' पर ऑपरेशन्स
col = "x"
print(f"\nकॉलम {col} में 5 से बड़े तत्व:\n", df[col] > 5)
print(f"कॉलम {col} में 5 के बराबर तत्व:\n", df[col] == 5)
# कॉलम 'y' पर ऑपरेशन्स
col = "y"
print(f"\nकॉलम {col} में 5 से छोटे तत्व:\n", df[col] < 5)
print(f"कॉलम {col} में 5 के बराबर नहीं तत्व:\n", df[col] != 5)
आउटपुट
Input DataFrame:
x y z
0 5 4 9
1 2 7 3
2 7 5 5
3 0 1 1
कॉलम x में 5 से बड़े तत्व:
0 False
1 False
2 True
3 False
Name: x, dtype: bool
कॉलम x में 5 के बराबर तत्व:
0 True
1 False
2 False
3 False
Name: x, dtype: bool
कॉलम y में 5 से छोटे तत्व:
0 True
1 False
2 False
3 True
Name: y, dtype: bool
कॉलम y में 5 के बराबर नहीं तत्व:
0 True
1 True
2 False
3 True
Name: y, dtype: bool
व्यावहारिक उपयोग: बूलियन इंडेक्सिंग से पंक्तियाँ फ़िल्टर करना
बूलियन Series का उपयोग करके वास्तविक डेटा फ़िल्टर करने के लिए:
# x > 5 वाली पंक्तियाँ चुनें
filtered = df[df['x'] > 5]
print("x > 5 वाली पंक्तियाँ:\n", filtered)
# एकाधिक शर्तें: (x > 2) AND (y < 6)
multi_filter = df[(df['x'] > 2) & (df['y'] < 6)]
print("\nएकाधिक शर्तों वाली पंक्तियाँ:\n", multi_filter)
# isin() का उपयोग करके विशिष्ट मानों वाली पंक्तियाँ
specific_values = df[df['x'].isin([2, 7])]
print("\nx में 2 या 7 वाली पंक्तियाँ:\n", specific_values)
महत्वपूर्ण नोट्स
- तुलनात्मक ऑपरेटर्स:
>,<,==,!=,>=,<= - एकाधिक शर्तों के लिए
&(AND),|(OR),~(NOT) का उपयोग करें। - प्रत्येक शर्त को कोष्ठक में रखें:
(df['x'] > 2) & (df['y'] < 5) df.query()विधि भी जटिल शर्तों के लिए उपयोगी है।